diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..cf1ab25 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/boost b/boost new file mode 120000 index 0000000..9914f56 --- /dev/null +++ b/boost @@ -0,0 +1 @@ +boost_1_33_1/boost \ No newline at end of file diff --git a/boost_1_33_1/boost/config.hpp b/boost_1_33_1/boost/config.hpp new file mode 100644 index 0000000..055a278 --- /dev/null +++ b/boost_1_33_1/boost/config.hpp @@ -0,0 +1,70 @@ +// Boost config.hpp configuration header file ------------------------------// + +// (C) Copyright John Maddock 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for most recent version. + +// Boost config.hpp policy and rationale documentation has been moved to +// http://www.boost.org/libs/config +// +// CAUTION: This file is intended to be completely stable - +// DO NOT MODIFY THIS FILE! +// + +#ifndef BOOST_CONFIG_HPP +#define BOOST_CONFIG_HPP + +// if we don't have a user config, then use the default location: +#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG) +# define BOOST_USER_CONFIG +#endif +// include it first: +#ifdef BOOST_USER_CONFIG +# include BOOST_USER_CONFIG +#endif + +// if we don't have a compiler config set, try and find one: +#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG) +# include +#endif +// if we have a compiler config, include it now: +#ifdef BOOST_COMPILER_CONFIG +# include BOOST_COMPILER_CONFIG +#endif + +// if we don't have a std library config set, try and find one: +#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) +# include +#endif +// if we have a std library config, include it now: +#ifdef BOOST_STDLIB_CONFIG +# include BOOST_STDLIB_CONFIG +#endif + +// if we don't have a platform config set, try and find one: +#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG) +# include +#endif +// if we have a platform config, include it now: +#ifdef BOOST_PLATFORM_CONFIG +# include BOOST_PLATFORM_CONFIG +#endif + +// get config suffix code: +#include + +#endif // BOOST_CONFIG_HPP + + + + + + + + + + + diff --git a/boost_1_33_1/boost/config/abi/borland_prefix.hpp b/boost_1_33_1/boost/config/abi/borland_prefix.hpp new file mode 100644 index 0000000..49f4249 --- /dev/null +++ b/boost_1_33_1/boost/config/abi/borland_prefix.hpp @@ -0,0 +1,27 @@ +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// for C++ Builder the following options effect the ABI: +// +// -b (on or off - effect emum sizes) +// -Vx (on or off - empty members) +// -Ve (on or off - empty base classes) +// -aX (alignment - 5 options). +// -pX (Calling convention - 4 options) +// -VmX (member pointer size and layout - 5 options) +// -VC (on or off, changes name mangling) +// -Vl (on or off, changes struct layout). + +// In addition the following warnings are sufficiently annoying (and +// unfixable) to have them turned off by default: +// +// 8027 - functions containing [for|while] loops are not expanded inline +// 8026 - functions taking class by value arguments are not expanded inline + +#pragma nopushoptwarn +# pragma option push -Vx -Ve -a8 -b -pc -Vmv -VC- -Vl- -w-8027 -w-8026 + + + diff --git a/boost_1_33_1/boost/config/abi/borland_suffix.hpp b/boost_1_33_1/boost/config/abi/borland_suffix.hpp new file mode 100644 index 0000000..940535f --- /dev/null +++ b/boost_1_33_1/boost/config/abi/borland_suffix.hpp @@ -0,0 +1,12 @@ +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +# pragma option pop +#pragma nopushoptwarn + + + + + diff --git a/boost_1_33_1/boost/config/abi/msvc_prefix.hpp b/boost_1_33_1/boost/config/abi/msvc_prefix.hpp new file mode 100644 index 0000000..3d3905c --- /dev/null +++ b/boost_1_33_1/boost/config/abi/msvc_prefix.hpp @@ -0,0 +1,8 @@ +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#pragma pack(push,8) + + diff --git a/boost_1_33_1/boost/config/abi/msvc_suffix.hpp b/boost_1_33_1/boost/config/abi/msvc_suffix.hpp new file mode 100644 index 0000000..a64d783 --- /dev/null +++ b/boost_1_33_1/boost/config/abi/msvc_suffix.hpp @@ -0,0 +1,8 @@ +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#pragma pack(pop) + + diff --git a/boost_1_33_1/boost/config/abi_prefix.hpp b/boost_1_33_1/boost/config/abi_prefix.hpp new file mode 100644 index 0000000..1733dc0 --- /dev/null +++ b/boost_1_33_1/boost/config/abi_prefix.hpp @@ -0,0 +1,20 @@ +// abi_prefix header -------------------------------------------------------// + +// Copyright John Maddock 2003 + +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt). + +#ifndef BOOST_CONFIG_ABI_PREFIX_HPP +# define BOOST_CONFIG_ABI_PREFIX_HPP +#else +# error double inclusion of header boost/config/abi_prefix.hpp is an error +#endif + +#include + +// this must occur after all other includes and before any code appears: +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif diff --git a/boost_1_33_1/boost/config/abi_suffix.hpp b/boost_1_33_1/boost/config/abi_suffix.hpp new file mode 100644 index 0000000..6339da6 --- /dev/null +++ b/boost_1_33_1/boost/config/abi_suffix.hpp @@ -0,0 +1,23 @@ +// abi_sufffix header -------------------------------------------------------// + +// Copyright John Maddock 2003 + +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt). + +// This header should be #included AFTER code that was preceded by a #include +// . + +#ifndef BOOST_CONFIG_ABI_PREFIX_HPP +# error Header boost/config/abi_prefix.hpp must only be used after boost/config/abi_prefix.hpp +#else +# undef BOOST_CONFIG_ABI_PREFIX_HPP +#endif + +// the suffix header occurs after all of our code: +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + + diff --git a/boost_1_33_1/boost/config/auto_link.hpp b/boost_1_33_1/boost/config/auto_link.hpp new file mode 100644 index 0000000..3fbe417 --- /dev/null +++ b/boost_1_33_1/boost/config/auto_link.hpp @@ -0,0 +1,357 @@ +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE auto_link.hpp + * VERSION see + * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers. + */ + +/************************************************************************* + +USAGE: +~~~~~~ + +Before including this header you must define one or more of define the following macros: + +BOOST_LIB_NAME: Required: A string containing the basename of the library, + for example boost_regex. +BOOST_LIB_TOOLSET: Optional: the base name of the toolset. +BOOST_DYN_LINK: Optional: when set link to dll rather than static library. +BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name + of the library selected (useful for debugging). +BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib, + rather than a mangled-name version. + +These macros will be undef'ed at the end of the header, further this header +has no include guards - so be sure to include it only once from your library! + +Algorithm: +~~~~~~~~~~ + +Libraries for Borland and Microsoft compilers are automatically +selected here, the name of the lib is selected according to the following +formula: + +BOOST_LIB_PREFIX + + BOOST_LIB_NAME + + "_" + + BOOST_LIB_TOOLSET + + BOOST_LIB_THREAD_OPT + + BOOST_LIB_RT_OPT + "-" + + BOOST_LIB_VERSION + +These are defined as: + +BOOST_LIB_PREFIX: "lib" for static libraries otherwise "". + +BOOST_LIB_NAME: The base name of the lib ( for example boost_regex). + +BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc). + +BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing. + +BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used, + contains one or more of the following letters after + a hiphen: + + s static runtime (dynamic if not present). + d debug build (release if not present). + g debug/diagnostic runtime (release if not present). + p STLPort Build. + +BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. + + +***************************************************************************/ + +#ifdef __cplusplus +# ifndef BOOST_CONFIG_HPP +# include +# endif +#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__) +// +// C language compatability (no, honestly) +// +# define BOOST_MSVC _MSC_VER +# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) +# define BOOST_DO_STRINGIZE(X) #X +#endif +// +// Only include what follows for known and supported compilers: +// +#if defined(BOOST_MSVC) \ + || defined(__BORLANDC__) \ + || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \ + || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) + +#ifndef BOOST_VERSION_HPP +# include +#endif + +#ifndef BOOST_LIB_NAME +# error "Macro BOOST_LIB_NAME not set (internal error)" +#endif + +// +// error check: +// +#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG) +# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors") +# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes") +# error "Incompatible build options" +#endif +// +// select toolset if not defined already: +// +#ifndef BOOST_LIB_TOOLSET +#if defined(BOOST_MSVC) && (BOOST_MSVC == 1200) + + // vc6: +# define BOOST_LIB_TOOLSET "vc6" + +#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300) + + // vc7: +# define BOOST_LIB_TOOLSET "vc7" + +#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1310) + + // vc71: +# define BOOST_LIB_TOOLSET "vc71" + +#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1400) + + // vc80: +# define BOOST_LIB_TOOLSET "vc80" + +#elif defined(__BORLANDC__) + + // CBuilder 6: +# define BOOST_LIB_TOOLSET "bcb" + +#elif defined(__ICL) + + // Intel C++, no version number: +# define BOOST_LIB_TOOLSET "iw" + +#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF ) + + // Metrowerks CodeWarrior 8.x +# define BOOST_LIB_TOOLSET "cw8" + +#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF ) + + // Metrowerks CodeWarrior 9.x +# define BOOST_LIB_TOOLSET "cw9" + +#endif +#endif // BOOST_LIB_TOOLSET + +// +// select thread opt: +// +#if defined(_MT) || defined(__MT__) +# define BOOST_LIB_THREAD_OPT "-mt" +#else +# define BOOST_LIB_THREAD_OPT +#endif + +#if defined(_MSC_VER) || defined(__MWERKS__) + +# ifdef _DLL + +# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) + +# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) +# define BOOST_LIB_RT_OPT "-gdp" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-gdp" +# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# else +# define BOOST_LIB_RT_OPT "-p" +# endif + +# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) + +# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) +# define BOOST_LIB_RT_OPT "-gdpn" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-gdpn" +# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# else +# define BOOST_LIB_RT_OPT "-pn" +# endif + +# else + +# if defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-gd" +# else +# define BOOST_LIB_RT_OPT +# endif + +# endif + +# else + +# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) + +# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) +# define BOOST_LIB_RT_OPT "-sgdp" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-sgdp" +# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# else +# define BOOST_LIB_RT_OPT "-sp" +# endif + +# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) + +# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) +# define BOOST_LIB_RT_OPT "-sgdpn" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-sgdpn" +# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# else +# define BOOST_LIB_RT_OPT "-spn" +# endif + +# else + +# if defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-sgd" +# else +# define BOOST_LIB_RT_OPT "-s" +# endif + +# endif + +# endif + +#elif defined(__BORLANDC__) + +// +// figure out whether we want the debug builds or not: +// +#if __BORLANDC__ > 0x561 +#pragma defineonoption BOOST_BORLAND_DEBUG -v +#endif +// +// sanity check: +// +#if defined(__STL_DEBUG) || defined(_STLP_DEBUG) +#error "Pre-built versions of the Boost libraries are not provided in STLPort-debug form" +#endif + +# ifdef _RTLDLL + +# ifdef BOOST_BORLAND_DEBUG +# define BOOST_LIB_RT_OPT "-d" +# else +# define BOOST_LIB_RT_OPT +# endif + +# else + +# ifdef BOOST_BORLAND_DEBUG +# define BOOST_LIB_RT_OPT "-sd" +# else +# define BOOST_LIB_RT_OPT "-s" +# endif + +# endif + +#endif + +// +// select linkage opt: +// +#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK) +# define BOOST_LIB_PREFIX +#elif defined(BOOST_DYN_LINK) +# error "Mixing a dll boost library with a static runtime is a really bad idea..." +#else +# define BOOST_LIB_PREFIX "lib" +#endif + +// +// now include the lib: +// +#if defined(BOOST_LIB_NAME) \ + && defined(BOOST_LIB_PREFIX) \ + && defined(BOOST_LIB_TOOLSET) \ + && defined(BOOST_LIB_THREAD_OPT) \ + && defined(BOOST_LIB_RT_OPT) \ + && defined(BOOST_LIB_VERSION) + +#ifndef BOOST_AUTO_LINK_NOMANGLE +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") +# ifdef BOOST_LIB_DIAGNOSTIC +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") +# endif +#else +# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") +# ifdef BOOST_LIB_DIAGNOSTIC +# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") +# endif +#endif + +#else +# error "some required macros where not defined (internal logic error)." +#endif + + +#endif // _MSC_VER || __BORLANDC__ + +// +// finally undef any macros we may have set: +// +#ifdef BOOST_LIB_PREFIX +# undef BOOST_LIB_PREFIX +#endif +#if defined(BOOST_LIB_NAME) +# undef BOOST_LIB_NAME +#endif +// Don't undef this one: it can be set by the user and should be the +// same for all libraries: +//#if defined(BOOST_LIB_TOOLSET) +//# undef BOOST_LIB_TOOLSET +//#endif +#if defined(BOOST_LIB_THREAD_OPT) +# undef BOOST_LIB_THREAD_OPT +#endif +#if defined(BOOST_LIB_RT_OPT) +# undef BOOST_LIB_RT_OPT +#endif +#if defined(BOOST_LIB_LINK_OPT) +# undef BOOST_LIB_LINK_OPT +#endif +#if defined(BOOST_LIB_DEBUG_OPT) +# undef BOOST_LIB_DEBUG_OPT +#endif +#if defined(BOOST_DYN_LINK) +# undef BOOST_DYN_LINK +#endif +#if defined(BOOST_AUTO_LINK_NOMANGLE) +# undef BOOST_AUTO_LINK_NOMANGLE +#endif + + + + + + + + + + + diff --git a/boost_1_33_1/boost/config/compiler/borland.hpp b/boost_1_33_1/boost/config/compiler/borland.hpp new file mode 100644 index 0000000..66769be --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/borland.hpp @@ -0,0 +1,175 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Aleksey Gurtovoy 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Borland C++ compiler setup: + +// Version 5.0 and below: +# if __BORLANDC__ <= 0x0550 +// Borland C++Builder 4 and 5: +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# if __BORLANDC__ == 0x0550 +// Borland C++Builder 5, command-line compiler 5.5: +# define BOOST_NO_OPERATORS_IN_NAMESPACE +# endif +# endif + +// Version 5.51 and below: +#if (__BORLANDC__ <= 0x551) +# define BOOST_NO_CV_SPECIALIZATIONS +# define BOOST_NO_CV_VOID_SPECIALIZATIONS +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# define BOOST_NO_DEDUCED_TYPENAME +// workaround for missing WCHAR_MAX/WCHAR_MIN: +#include +#include +#ifndef WCHAR_MAX +# define WCHAR_MAX 0xffff +#endif +#ifndef WCHAR_MIN +# define WCHAR_MIN 0 +#endif +#endif + +// Version 7.0 (Kylix) and below: +#if (__BORLANDC__ <= 0x570) +# define BOOST_NO_SFINAE +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# define BOOST_NO_PRIVATE_IN_AGGREGATE +# define BOOST_NO_USING_TEMPLATE +# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG +# define BOOST_NO_TEMPLATE_TEMPLATES +# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS + // we shouldn't really need this - but too many things choke + // without it, this needs more investigation: +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +# define BOOST_NO_IS_ABSTRACT +# ifdef NDEBUG + // fix broken so that Boost.test works: +# include +# undef strcmp +# endif + +// +// new bug in 5.61: +#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x570) + // this seems to be needed by the command line compiler, but not the IDE: +# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +#endif + +# ifdef _WIN32 +# define BOOST_NO_SWPRINTF +# elif defined(linux) || defined(__linux__) || defined(__linux) + // we should really be able to do without this + // but the wcs* functions aren't imported into std:: +# define BOOST_NO_STDC_NAMESPACE + // _CPPUNWIND doesn't get automatically set for some reason: +# pragma defineonoption BOOST_CPPUNWIND -x +# endif +#endif + +// +// Post 0x561 we have long long and stdint.h: +#if __BORLANDC__ >= 0x561 +# ifndef __NO_LONG_LONG +# define BOOST_HAS_LONG_LONG +# endif + // On non-Win32 platforms let the platform config figure this out: +# ifdef _WIN32 +# define BOOST_HAS_STDINT_H +# endif +#endif + +// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is +// defined, then we have 0x560 or greater with the Rogue Wave implementation +// which presumably has the std::DBL_MAX bug. +#if ((__BORLANDC__ >= 0x550) && (__BORLANDC__ < 0x560)) || defined(_USE_OLD_RW_STL) +// is partly broken, some macros define symbols that are really in +// namespace std, so you end up having to use illegal constructs like +// std::DBL_MAX, as a fix we'll just include float.h and have done with: +#include +#endif +// +// __int64: +// +#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__) +# define BOOST_HAS_MS_INT64 +#endif +// +// check for exception handling support: +// +#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif +// +// all versions have a : +// +#ifndef __STRICT_ANSI__ +# define BOOST_HAS_DIRENT_H +#endif +// +// all versions support __declspec: +// +#ifndef __STRICT_ANSI__ +# define BOOST_HAS_DECLSPEC +#endif +// +// ABI fixing headers: +// +#if __BORLANDC__ < 0x600 // not implemented for version 6 compiler yet +#ifndef BOOST_ABI_PREFIX +# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" +#endif +#ifndef BOOST_ABI_SUFFIX +# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" +#endif +#endif +// +// Disable Win32 support in ANSI mode: +// +#if __BORLANDC__ < 0x600 +# pragma defineonoption BOOST_DISABLE_WIN32 -A +#elif defined(__STRICT_ANSI__) +# define BOOST_DISABLE_WIN32 +#endif +// +// MSVC compatibility mode does some nasty things: +// +#if defined(_MSC_VER) && (_MSC_VER <= 1200) +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +# define BOOST_NO_VOID_RETURNS +#endif + +#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__) + +// +// versions check: +// we don't support Borland prior to version 5.4: +#if __BORLANDC__ < 0x540 +# error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 1536 (Builder X preview): +#if (__BORLANDC__ > 1536) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# else +# pragma message( "Unknown compiler version - please run the configure tests and report the results") +# endif +#endif + + + + + + + + diff --git a/boost_1_33_1/boost/config/compiler/comeau.hpp b/boost_1_33_1/boost/config/compiler/comeau.hpp new file mode 100644 index 0000000..1b71008 --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/comeau.hpp @@ -0,0 +1,59 @@ +// (C) Copyright John Maddock 2001. +// (C) Copyright Douglas Gregor 2001. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright Aleksey Gurtovoy 2003. +// (C) Copyright Beman Dawes 2003. +// (C) Copyright Jens Maurer 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Comeau C++ compiler setup: + +#include "boost/config/compiler/common_edg.hpp" + +#if (__COMO_VERSION__ <= 4245) + +# if defined(_MSC_VER) && _MSC_VER <= 1300 +# if _MSC_VER > 100 + // only set this in non-strict mode: +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +# endif +# endif + +// Void returns don't work when emulating VC 6 (Peter Dimov) + +# if defined(_MSC_VER) && (_MSC_VER == 1200) +# define BOOST_NO_VOID_RETURNS +# endif + +#endif // version 4245 + +// +// enable __int64 support in VC emulation mode +// +# if defined(_MSC_VER) && (_MSC_VER >= 1200) +# define BOOST_HAS_MS_INT64 +# endif + +#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__) + +// +// versions check: +// we don't know Comeau prior to version 4245: +#if __COMO_VERSION__ < 4245 +# error "Compiler not configured - please reconfigure" +#endif +// +// last known and checked version is 4245: +#if (__COMO_VERSION__ > 4245) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + + + diff --git a/boost_1_33_1/boost/config/compiler/common_edg.hpp b/boost_1_33_1/boost/config/compiler/common_edg.hpp new file mode 100644 index 0000000..0443be1 --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/common_edg.hpp @@ -0,0 +1,62 @@ +// (C) Copyright John Maddock 2001 - 2002. +// (C) Copyright Jens Maurer 2001. +// (C) Copyright David Abrahams 2002. +// (C) Copyright Aleksey Gurtovoy 2002. +// (C) Copyright Markus Schoepflin 2005. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// +// Options common to all edg based compilers. +// +// This is included from within the individual compiler mini-configs. + +#ifndef __EDG_VERSION__ +# error This file requires that __EDG_VERSION__ be defined. +#endif + +#if (__EDG_VERSION__ <= 238) +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_SFINAE +#endif + +#if (__EDG_VERSION__ <= 240) +# define BOOST_NO_VOID_RETURNS +#endif + +#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +#endif + +#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES) +# define BOOST_NO_TEMPLATE_TEMPLATES +#endif + +#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT) +# define BOOST_NO_IS_ABSTRACT +#endif + +#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#endif + +// See also kai.hpp which checks a Kai-specific symbol for EH +# if !defined(__KCC) && !defined(__EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +# endif + +# if !defined(__NO_LONG_LONG) +# define BOOST_HAS_LONG_LONG +# endif + +#ifdef c_plusplus +// EDG has "long long" in non-strict mode +// However, some libraries have insufficient "long long" support +// #define BOOST_HAS_LONG_LONG +#endif + + + diff --git a/boost_1_33_1/boost/config/compiler/compaq_cxx.hpp b/boost_1_33_1/boost/config/compiler/compaq_cxx.hpp new file mode 100644 index 0000000..a52e66a --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/compaq_cxx.hpp @@ -0,0 +1,19 @@ +// (C) Copyright John Maddock 2001 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Dec Alpha True64 C++ compiler setup: + +#define BOOST_COMPILER "Dec Alpha True64 " BOOST_STRINGIZE(__DECCXX_VER) + +#include "boost/config/compiler/common_edg.hpp" + +// +// versions check: +// Nothing to do here? + + + diff --git a/boost_1_33_1/boost/config/compiler/digitalmars.hpp b/boost_1_33_1/boost/config/compiler/digitalmars.hpp new file mode 100644 index 0000000..32fc71f --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/digitalmars.hpp @@ -0,0 +1,49 @@ +// Copyright (C) Christof Meerwald 2003 +// Copyright (C) Dan Watkins 2003 +// +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// Digital Mars C++ compiler setup: +#define BOOST_COMPILER __DMC_VERSION_STRING__ + +#define BOOST_HAS_LONG_LONG +#define BOOST_HAS_PRAGMA_ONCE + +#if (__DMC__ <= 0x833) +#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#define BOOST_NO_TEMPLATE_TEMPLATES +#define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING +#define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS +#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +#endif +#if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG) +#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#define BOOST_NO_OPERATORS_IN_NAMESPACE +#define BOOST_NO_UNREACHABLE_RETURN_DETECTION +#define BOOST_NO_SFINAE +#define BOOST_NO_USING_TEMPLATE +#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#endif + +// +// has macros: +#if (__DMC__ >= 0x840) +#define BOOST_HAS_DIRENT_H +#define BOOST_HAS_STDINT_H +#define BOOST_HAS_WINTHREADS +#endif + + +// check for exception handling support: +#ifndef _CPPUNWIND +# define BOOST_NO_EXCEPTIONS +#endif + +#if (__DMC__ < 0x840) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif diff --git a/boost_1_33_1/boost/config/compiler/gcc.hpp b/boost_1_33_1/boost/config/compiler/gcc.hpp new file mode 100644 index 0000000..d94b16b --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/gcc.hpp @@ -0,0 +1,105 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001 - 2002. +// (C) Copyright Jens Maurer 2001 - 2002. +// (C) Copyright Beman Dawes 2001 - 2003. +// (C) Copyright Douglas Gregor 2002. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Synge Todo 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// GNU C++ compiler setup: + +#if __GNUC__ < 3 +# if __GNUC_MINOR__ == 91 + // egcs 1.1 won't parse shared_ptr.hpp without this: +# define BOOST_NO_AUTO_PTR +# endif +# if __GNUC_MINOR__ < 95 + // + // Prior to gcc 2.95 member templates only partly + // work - define BOOST_MSVC6_MEMBER_TEMPLATES + // instead since inline member templates mostly work. + // +# define BOOST_NO_MEMBER_TEMPLATES +# if __GNUC_MINOR__ >= 9 +# define BOOST_MSVC6_MEMBER_TEMPLATES +# endif +# endif + +# if __GNUC_MINOR__ < 96 +# define BOOST_NO_SFINAE +# endif + +# if __GNUC_MINOR__ <= 97 +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_OPERATORS_IN_NAMESPACE +# endif + +# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +# define BOOST_NO_IS_ABSTRACT +#elif __GNUC__ == 3 + // + // gcc-3.x problems: + // + // Bug specific to gcc 3.1 and 3.2: + // +# if ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2)) +# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +# endif +# if __GNUC_MINOR__ < 4 +# define BOOST_NO_IS_ABSTRACT +# endif +#endif + +#ifndef __EXCEPTIONS +# define BOOST_NO_EXCEPTIONS +#endif + + +// +// Threading support: Turn this on unconditionally here (except for +// those platforms where we can know for sure). It will get turned off again +// later if no threading API is detected. +// +#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) +# define BOOST_HAS_THREADS +#endif + +// +// gcc has "long long" +// +#define BOOST_HAS_LONG_LONG + +// +// gcc implements the named return value optimization since version 3.1 +// +#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 ) +#define BOOST_HAS_NRVO +#endif + +#define BOOST_COMPILER "GNU C++ version " __VERSION__ + +// +// versions check: +// we don't know gcc prior to version 2.90: +#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90) +# error "Compiler not configured - please reconfigure" +#endif +// +// last known and checked version is 4.0 (Pre-release): +#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 0)) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# else +// we don't emit warnings here anymore since there are no defect macros defined for +// gcc post 3.4, so any failures are gcc regressions... +//# warning "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + diff --git a/boost_1_33_1/boost/config/compiler/greenhills.hpp b/boost_1_33_1/boost/config/compiler/greenhills.hpp new file mode 100644 index 0000000..038b6b2 --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/greenhills.hpp @@ -0,0 +1,28 @@ +// (C) Copyright John Maddock 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Greenhills C++ compiler setup: + +#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs) + +#include "boost/config/compiler/common_edg.hpp" + +// +// versions check: +// we don't support Greenhills prior to version 0: +#if __ghs < 0 +# error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 0: +#if (__ghs > 0) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + diff --git a/boost_1_33_1/boost/config/compiler/hp_acc.hpp b/boost_1_33_1/boost/config/compiler/hp_acc.hpp new file mode 100644 index 0000000..3d05ba5 --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/hp_acc.hpp @@ -0,0 +1,70 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2003. +// (C) Copyright Aleksey Gurtovoy 2002. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Toon Knapen 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// HP aCC C++ compiler setup: + +#if (__HP_aCC <= 33100) +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_OPERATORS_IN_NAMESPACE +# if !defined(_NAMESPACE_STD) +# define BOOST_NO_STD_LOCALE +# define BOOST_NO_STRINGSTREAM +# endif +#endif + +#if (__HP_aCC <= 33300) +// member templates are sufficiently broken that we disable them for now +# define BOOST_NO_MEMBER_TEMPLATES +# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +#endif + +#if (__HP_aCC <= 33900) || !defined(BOOST_STRICT_CONFIG) +# define BOOST_NO_UNREACHABLE_RETURN_DETECTION +# define BOOST_NO_TEMPLATE_TEMPLATES +# define BOOST_NO_SWPRINTF +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# define BOOST_NO_IS_ABSTRACT +// std lib config should set this one already: +//# define BOOST_NO_STD_ALLOCATOR +#endif + +// optional features rather than defects: +#if (__HP_aCC >= 33900) +# define BOOST_HAS_LONG_LONG +# define BOOST_HAS_PARTIAL_STD_ALLOCATOR +#endif + +#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 ) +# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD +#endif + +#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS + +#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC) + +// +// versions check: +// we don't support HP aCC prior to version 0: +#if __HP_aCC < 33000 +# error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 0: +#if (__HP_aCC > 53800) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + + + diff --git a/boost_1_33_1/boost/config/compiler/intel.hpp b/boost_1_33_1/boost/config/compiler/intel.hpp new file mode 100644 index 0000000..d47c345 --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/intel.hpp @@ -0,0 +1,155 @@ +// (C) Copyright John Maddock 2001. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright Jens Maurer 2001. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Aleksey Gurtovoy 2002 - 2003. +// (C) Copyright Guillaume Melquiond 2002 - 2003. +// (C) Copyright Beman Dawes 2003. +// (C) Copyright Martin Wille 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Intel compiler setup: + +#include "boost/config/compiler/common_edg.hpp" + +#if defined(__INTEL_COMPILER) +# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER +#elif defined(__ICL) +# define BOOST_INTEL_CXX_VERSION __ICL +#elif defined(__ICC) +# define BOOST_INTEL_CXX_VERSION __ICC +#elif defined(__ECC) +# define BOOST_INTEL_CXX_VERSION __ECC +#endif + +#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) +#define BOOST_INTEL BOOST_INTEL_CXX_VERSION + +#if defined(_WIN32) || defined(_WIN64) +# define BOOST_INTEL_WIN BOOST_INTEL +#else +# define BOOST_INTEL_LINUX BOOST_INTEL +#endif + +#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER) +# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +# define BOOST_NO_TEMPLATE_TEMPLATES +#endif + +#if (BOOST_INTEL_CXX_VERSION <= 600) + +# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov) + +// Boost libraries assume strong standard conformance unless otherwise +// indicated by a config macro. As configured by Intel, the EDG front-end +// requires certain compiler options be set to achieve that strong conformance. +// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt) +// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for +// details as they apply to particular versions of the compiler. When the +// compiler does not predefine a macro indicating if an option has been set, +// this config file simply assumes the option has been set. +// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if +// the compiler option is not enabled. + +# define BOOST_NO_SWPRINTF +# endif + +// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov) + +# if defined(_MSC_VER) && (_MSC_VER <= 1200) +# define BOOST_NO_VOID_RETURNS +# define BOOST_NO_INTEGRAL_INT64_T +# endif + +#endif + +#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32) +# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +#endif + +// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864 +#if BOOST_INTEL_CXX_VERSION < 600 +# define BOOST_NO_INTRINSIC_WCHAR_T +#else +// We should test the macro _WCHAR_T_DEFINED to check if the compiler +// supports wchar_t natively. *BUT* there is a problem here: the standard +// headers define this macro if they typedef wchar_t. Anyway, we're lucky +// because they define it without a value, while Intel C++ defines it +// to 1. So we can check its value to see if the macro was defined natively +// or not. +// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T +// is used instead. +# if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0) +# define BOOST_NO_INTRINSIC_WCHAR_T +# endif +#endif + +#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) +// +// Figure out when Intel is emulating this gcc bug: +// +# if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL <= 900) +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +# endif +#endif + +// +// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T +// set correctly, if we don't do this now, we will get errors later +// in type_traits code among other things, getting this correct +// for the Intel compiler is actually remarkably fragile and tricky: +// +#if defined(BOOST_NO_INTRINSIC_WCHAR_T) +#include +template< typename T > struct assert_no_intrinsic_wchar_t; +template<> struct assert_no_intrinsic_wchar_t { typedef void type; }; +// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T +// where it is defined above: +typedef assert_no_intrinsic_wchar_t::type assert_no_intrinsic_wchar_t_; +#else +template< typename T > struct assert_intrinsic_wchar_t; +template<> struct assert_intrinsic_wchar_t {}; +// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line: +template<> struct assert_intrinsic_wchar_t {}; +#endif + +#if _MSC_VER+0 >= 1000 +# if _MSC_VER >= 1200 +# define BOOST_HAS_MS_INT64 +# endif +# define BOOST_NO_SWPRINTF +#elif defined(_WIN32) +# define BOOST_DISABLE_WIN32 +#endif + +// I checked version 6.0 build 020312Z, it implements the NRVO. +// Correct this as you find out which version of the compiler +// implemented the NRVO first. (Daniel Frey) +#if (BOOST_INTEL_CXX_VERSION >= 600) +# define BOOST_HAS_NRVO +#endif + +// +// versions check: +// we don't support Intel prior to version 5.0: +#if BOOST_INTEL_CXX_VERSION < 500 +# error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version: +#if (BOOST_INTEL_CXX_VERSION > 900) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# elif defined(_MSC_VER) +# pragma message("Unknown compiler version - please run the configure tests and report the results") +# endif +#endif + + + + + diff --git a/boost_1_33_1/boost/config/compiler/kai.hpp b/boost_1_33_1/boost/config/compiler/kai.hpp new file mode 100644 index 0000000..de16f1a --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/kai.hpp @@ -0,0 +1,35 @@ +// (C) Copyright John Maddock 2001. +// (C) Copyright David Abrahams 2002. +// (C) Copyright Aleksey Gurtovoy 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Kai C++ compiler setup: + +#include "boost/config/compiler/common_edg.hpp" + +# if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG) + // at least on Sun, the contents of is not in namespace std +# define BOOST_NO_STDC_NAMESPACE +# endif + +// see also common_edg.hpp which needs a special check for __KCC +# if !defined(_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +# endif + +#define BOOST_COMPILER "Kai C++ version " BOOST_STRINGIZE(__KCC_VERSION) + +// +// last known and checked version is 4001: +#if (__KCC_VERSION > 4001) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + + diff --git a/boost_1_33_1/boost/config/compiler/metrowerks.hpp b/boost_1_33_1/boost/config/compiler/metrowerks.hpp new file mode 100644 index 0000000..f173295 --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/metrowerks.hpp @@ -0,0 +1,104 @@ +// (C) Copyright John Maddock 2001. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright David Abrahams 2001 - 2002. +// (C) Copyright Beman Dawes 2001 - 2003. +// (C) Copyright Stefan Slapeta 2004. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Metrowerks C++ compiler setup: + +// locale support is disabled when linking with the dynamic runtime +# ifdef _MSL_NO_LOCALE +# define BOOST_NO_STD_LOCALE +# endif + +# if __MWERKS__ <= 0x2301 // 5.3 +# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# define BOOST_NO_POINTER_TO_MEMBER_CONST +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD +# endif + +# if __MWERKS__ <= 0x2401 // 6.2 +//# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# endif + +# if(__MWERKS__ <= 0x2407) // 7.x +# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +# define BOOST_NO_UNREACHABLE_RETURN_DETECTION +# endif + +# if(__MWERKS__ <= 0x3003) // 8.x +# define BOOST_NO_SFINAE +# endif + +// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last +// tested version *only*: +# if(__MWERKS__ <= 0x3206) || !defined(BOOST_STRICT_CONFIG) // 9.5 +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_IS_ABSTRACT +# endif + +#if !__option(wchar_type) +# define BOOST_NO_INTRINSIC_WCHAR_T +#endif + +#if !__option(exceptions) +# define BOOST_NO_EXCEPTIONS +#endif + +#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh) +# if __MWERKS__ == 0x3000 +# define BOOST_COMPILER_VERSION 8.0 +# elif __MWERKS__ == 0x3001 +# define BOOST_COMPILER_VERSION 8.1 +# elif __MWERKS__ == 0x3002 +# define BOOST_COMPILER_VERSION 8.2 +# elif __MWERKS__ == 0x3003 +# define BOOST_COMPILER_VERSION 8.3 +# elif __MWERKS__ == 0x3200 +# define BOOST_COMPILER_VERSION 9.0 +# elif __MWERKS__ == 0x3201 +# define BOOST_COMPILER_VERSION 9.1 +# elif __MWERKS__ == 0x3202 +# define BOOST_COMPILER_VERSION 9.2 +# elif __MWERKS__ == 0x3204 +# define BOOST_COMPILER_VERSION 9.3 +# elif __MWERKS__ == 0x3205 +# define BOOST_COMPILER_VERSION 9.4 +# elif __MWERKS__ == 0x3206 +# define BOOST_COMPILER_VERSION 9.5 +# else +# define BOOST_COMPILER_VERSION __MWERKS__ +# endif +#else +# define BOOST_COMPILER_VERSION __MWERKS__ +#endif + +#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) + +// +// versions check: +// we don't support Metrowerks prior to version 5.3: +#if __MWERKS__ < 0x2301 +# error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version: +#if (__MWERKS__ > 0x3205) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + + + + + + diff --git a/boost_1_33_1/boost/config/compiler/mpw.hpp b/boost_1_33_1/boost/config/compiler/mpw.hpp new file mode 100644 index 0000000..8ab2aac --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/mpw.hpp @@ -0,0 +1,51 @@ +// (C) Copyright John Maddock 2001 - 2002. +// (C) Copyright Aleksey Gurtovoy 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// MPW C++ compilers setup: + +# if defined(__SC__) +# define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__) +# elif defined(__MRC__) +# define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__) +# else +# error "Using MPW compiler configuration by mistake. Please update." +# endif + +// +// MPW 8.90: +// +#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG) +# define BOOST_NO_CV_SPECIALIZATIONS +# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_NO_INTRINSIC_WCHAR_T +# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# define BOOST_NO_USING_TEMPLATE + +# define BOOST_NO_CWCHAR +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS + +# define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */ +#endif + +// +// versions check: +// we don't support MPW prior to version 8.9: +#if MPW_CPLUS < 0x890 +# error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 0x890: +#if (MPW_CPLUS > 0x890) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + diff --git a/boost_1_33_1/boost/config/compiler/sgi_mipspro.hpp b/boost_1_33_1/boost/config/compiler/sgi_mipspro.hpp new file mode 100644 index 0000000..689b67e --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/sgi_mipspro.hpp @@ -0,0 +1,24 @@ +// (C) Copyright John Maddock 2001 - 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// SGI C++ compiler setup: + +#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) + +#include "boost/config/compiler/common_edg.hpp" + +// +// Threading support: +// Turn this on unconditionally here, it will get turned off again later +// if no threading API is detected. +// +#define BOOST_HAS_THREADS +// +// version check: +// probably nothing to do here? + + diff --git a/boost_1_33_1/boost/config/compiler/sunpro_cc.hpp b/boost_1_33_1/boost/config/compiler/sunpro_cc.hpp new file mode 100644 index 0000000..eca19fe --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/sunpro_cc.hpp @@ -0,0 +1,90 @@ +// (C) Copyright John Maddock 2001. +// (C) Copyright Jens Maurer 2001 - 2003. +// (C) Copyright Peter Dimov 2002. +// (C) Copyright Aleksey Gurtovoy 2002 - 2003. +// (C) Copyright David Abrahams 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Sun C++ compiler setup: + +# if __SUNPRO_CC <= 0x500 +# define BOOST_NO_MEMBER_TEMPLATES +# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# endif + +# if (__SUNPRO_CC <= 0x520) + // + // Sunpro 5.2 and earler: + // + // although sunpro 5.2 supports the syntax for + // inline initialization it often gets the value + // wrong, especially where the value is computed + // from other constants (J Maddock 6th May 2001) +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION + + // Although sunpro 5.2 supports the syntax for + // partial specialization, it often seems to + // bind to the wrong specialization. Better + // to disable it until suppport becomes more stable + // (J Maddock 6th May 2001). +# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# endif + +# if (__SUNPRO_CC <= 0x530) + // Requesting debug info (-g) with Boost.Python results + // in an internal compiler error for "static const" + // initialized in-class. + // >> Assertion: (../links/dbg_cstabs.cc, line 611) + // while processing ../test.cpp at line 0. + // (Jens Maurer according to Gottfried Ganauge 04 Mar 2002) +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION + + // SunPro 5.3 has better support for partial specialization, + // but breaks when compiling std::less > + // (Jens Maurer 4 Nov 2001). + + // std::less specialization fixed as reported by George + // Heintzelman; partial specialization re-enabled + // (Peter Dimov 17 Jan 2002) + +//# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + + // integral constant expressions with 64 bit numbers fail +# define BOOST_NO_INTEGRAL_INT64_T +# endif + +# if (__SUNPRO_CC < 0x570) +# define BOOST_NO_TEMPLATE_TEMPLATES + // see http://lists.boost.org/MailArchives/boost/msg47184.php + // and http://lists.boost.org/MailArchives/boost/msg47220.php +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_NO_SFINAE +# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS +# define BOOST_NO_IS_ABSTRACT +# endif + +#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC) + +// +// versions check: +// we don't support sunpro prior to version 4: +#if __SUNPRO_CC < 0x400 +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 0x570: +#if (__SUNPRO_CC > 0x570) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + + + + + diff --git a/boost_1_33_1/boost/config/compiler/vacpp.hpp b/boost_1_33_1/boost/config/compiler/vacpp.hpp new file mode 100644 index 0000000..4cf0de7 --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/vacpp.hpp @@ -0,0 +1,58 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Toon Knapen 2001 - 2003. +// (C) Copyright Lie-Quan Lee 2001. +// (C) Copyright Markus Schpflin 2002 - 2003. +// (C) Copyright Beman Dawes 2002 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Visual Age (IBM) C++ compiler setup: + +#if __IBMCPP__ <= 501 +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +#endif + +#if (__IBMCPP__ <= 502) +// Actually the compiler supports inclass member initialization but it +// requires a definition for the class member and it doesn't recognize +// it as an integral constant expression when used as a template argument. +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD +#endif + +#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) +# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +# define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES 1 +#endif + +// +// On AIX thread support seems to be indicated by _THREAD_SAFE: +// +#ifdef _THREAD_SAFE +# define BOOST_HAS_THREADS +#endif + +#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) + +// +// versions check: +// we don't support Visual age prior to version 5: +#if __IBMCPP__ < 500 +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 600: +#if (__IBMCPP__ > 600) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + + + diff --git a/boost_1_33_1/boost/config/compiler/visualc.hpp b/boost_1_33_1/boost/config/compiler/visualc.hpp new file mode 100644 index 0000000..aa8ce21 --- /dev/null +++ b/boost_1_33_1/boost/config/compiler/visualc.hpp @@ -0,0 +1,168 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001 - 2002. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright Aleksey Gurtovoy 2002. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Beman Dawes 2002 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Microsoft Visual C++ compiler setup: + +#define BOOST_MSVC _MSC_VER + +// turn off the warnings before we #include anything +#pragma warning( disable : 4503 ) // warning: decorated name length exceeded + +#if _MSC_VER < 1300 // 1200 == VC++ 6.0, 1200-1202 == eVC++4 +# pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# define BOOST_NO_VOID_RETURNS +# define BOOST_NO_EXCEPTION_STD_NAMESPACE + // disable min/max macro defines on vc6: + // +#endif + +#if (_MSC_VER <= 1300) // 1300 == VC++ 7.0 + +# if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) // VC7 bug with /Za +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# endif + +# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_NO_PRIVATE_IN_AGGREGATE +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_DEDUCED_TYPENAME +# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE + +// VC++ 6/7 has member templates but they have numerous problems including +// cases of silent failure, so for safety we define: +# define BOOST_NO_MEMBER_TEMPLATES +// For VC++ experts wishing to attempt workarounds, we define: +# define BOOST_MSVC6_MEMBER_TEMPLATES + +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# define BOOST_NO_CV_VOID_SPECIALIZATIONS +# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# define BOOST_NO_USING_TEMPLATE +# define BOOST_NO_SWPRINTF +# define BOOST_NO_TEMPLATE_TEMPLATES +# define BOOST_NO_SFINAE +# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +# define BOOST_NO_IS_ABSTRACT +// TODO: what version is meant here? Have there really been any fixes in cl 12.01 (as e.g. shipped with eVC4)? +# if (_MSC_VER > 1200) +# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +# endif + +#endif + +#if _MSC_VER < 1310 // 1310 == VC++ 7.1 +# define BOOST_NO_SWPRINTF +#endif + +#if _MSC_VER <= 1400 // 1400 == VC++ 8.0 +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#endif + +#ifndef _NATIVE_WCHAR_T_DEFINED +# define BOOST_NO_INTRINSIC_WCHAR_T +#endif + +#ifdef _WIN32_WCE +# define BOOST_NO_THREADEX +# define BOOST_NO_GETSYSTEMTIMEASFILETIME +#endif + +// +// check for exception handling support: +#ifndef _CPPUNWIND +# define BOOST_NO_EXCEPTIONS +#endif + +// +// __int64 support: +// +#if (_MSC_VER >= 1200) +# define BOOST_HAS_MS_INT64 +#endif +#if (_MSC_VER >= 1310) && defined(_MSC_EXTENSIONS) +# define BOOST_HAS_LONG_LONG +#endif +// +// disable Win32 API's if compiler extentions are +// turned off: +// +#ifndef _MSC_EXTENSIONS +# define BOOST_DISABLE_WIN32 +#endif + +// +// all versions support __declspec: +// +#define BOOST_HAS_DECLSPEC +// +// prefix and suffix headers: +// +#ifndef BOOST_ABI_PREFIX +# define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp" +#endif +#ifndef BOOST_ABI_SUFFIX +# define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp" +#endif + +// TODO: +// these things are mostly bogus. 1200 means version 12.0 of the compiler. The +// artificial versions assigned to them only refer to the versions of some IDE +// these compilers have been shipped with, and even that is not all of it. Some +// were shipped with freely downloadable SDKs, others as crosscompilers in eVC. +// IOW, you can't use these 'versions' in any sensible way. Sorry. +# if defined(UNDER_CE) +# if _MSC_VER < 1200 + // Note: these are so far off, they are not really supported +# elif _MSC_VER < 1300 // eVC++ 4 comes with 1200-1202 +# define BOOST_COMPILER_VERSION evc4.0 +# error unknown CE compiler +# else +# error unknown CE compiler +# endif +# else +# if _MSC_VER < 1200 + // Note: these are so far off, they are not really supported +# define BOOST_COMPILER_VERSION 5.0 +# elif _MSC_VER < 1300 +# define BOOST_COMPILER_VERSION 6.0 +# elif _MSC_VER == 1300 +# define BOOST_COMPILER_VERSION 7.0 +# elif _MSC_VER == 1310 +# define BOOST_COMPILER_VERSION 7.1 +# elif _MSC_VER == 1400 +# define BOOST_COMPILER_VERSION 8.0 +# else +# define BOOST_COMPILER_VERSION _MSC_VER +# endif +# endif + +#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) + +// +// versions check: +// we don't support Visual C++ prior to version 6: +#if _MSC_VER < 1200 +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 1400 (VC8): +#if (_MSC_VER > 1400) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# else +# pragma message("Unknown compiler version - please run the configure tests and report the results") +# endif +#endif diff --git a/boost_1_33_1/boost/config/platform/aix.hpp b/boost_1_33_1/boost/config/platform/aix.hpp new file mode 100644 index 0000000..894ef42 --- /dev/null +++ b/boost_1_33_1/boost/config/platform/aix.hpp @@ -0,0 +1,33 @@ +// (C) Copyright John Maddock 2001 - 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// IBM/Aix specific config options: + +#define BOOST_PLATFORM "IBM Aix" + +#define BOOST_HAS_UNISTD_H +#define BOOST_HAS_NL_TYPES_H +#define BOOST_HAS_NANOSLEEP +#define BOOST_HAS_CLOCK_GETTIME + +// This needs support in "boost/cstdint.hpp" exactly like FreeBSD. +// This platform has header named which includes all +// the things needed. +#define BOOST_HAS_STDINT_H + +// Threading API's: +#define BOOST_HAS_PTHREADS +#define BOOST_HAS_PTHREAD_DELAY_NP +#define BOOST_HAS_SCHED_YIELD +//#define BOOST_HAS_PTHREAD_YIELD + +// boilerplate code: +#include + + + + diff --git a/boost_1_33_1/boost/config/platform/amigaos.hpp b/boost_1_33_1/boost/config/platform/amigaos.hpp new file mode 100644 index 0000000..34bcf41 --- /dev/null +++ b/boost_1_33_1/boost/config/platform/amigaos.hpp @@ -0,0 +1,15 @@ +// (C) Copyright John Maddock 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +#define BOOST_PLATFORM "AmigaOS" + +#define BOOST_DISABLE_THREADS +#define BOOST_NO_CWCHAR +#define BOOST_NO_STD_WSTRING +#define BOOST_NO_INTRINSIC_WCHAR_T + + diff --git a/boost_1_33_1/boost/config/platform/beos.hpp b/boost_1_33_1/boost/config/platform/beos.hpp new file mode 100644 index 0000000..48c3d8d --- /dev/null +++ b/boost_1_33_1/boost/config/platform/beos.hpp @@ -0,0 +1,26 @@ +// (C) Copyright John Maddock 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// BeOS specific config options: + +#define BOOST_PLATFORM "BeOS" + +#define BOOST_NO_CWCHAR +#define BOOST_NO_CWCTYPE +#define BOOST_HAS_UNISTD_H + +#define BOOST_HAS_BETHREADS + +#ifndef BOOST_DISABLE_THREADS +# define BOOST_HAS_THREADS +#endif + +// boilerplate code: +#include + + + diff --git a/boost_1_33_1/boost/config/platform/bsd.hpp b/boost_1_33_1/boost/config/platform/bsd.hpp new file mode 100644 index 0000000..17496d8 --- /dev/null +++ b/boost_1_33_1/boost/config/platform/bsd.hpp @@ -0,0 +1,73 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Douglas Gregor 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// generic BSD config options: + +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__) +#error "This platform is not BSD" +#endif + +#ifdef __FreeBSD__ +#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__) +#elif defined(__NetBSD__) +#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__) +#elif defined(__OpenBSD__) +#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__) +#elif defined(__DragonFly__) +#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__) +#endif + +// +// is this the correct version check? +// FreeBSD has but does not +// advertise the fact in : +// +#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) || defined(__DragonFly__) +# define BOOST_HAS_NL_TYPES_H +#endif + +// +// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in +// and not in +// +#if defined(__FreeBSD__) && (__FreeBSD__ <= 3) +# define BOOST_HAS_PTHREADS +#endif + +// +// No wide character support in the BSD header files: +// +#if !(defined(__FreeBSD__) && (__FreeBSD__ >= 5)) +# define BOOST_NO_CWCHAR +#endif +// +// The BSD has macros only, no functions: +// +#if !defined(__OpenBSD__) +# define BOOST_NO_CTYPE_FUNCTIONS +#endif + +// +// thread API's not auto detected: +// +#define BOOST_HAS_SCHED_YIELD +#define BOOST_HAS_NANOSLEEP +#define BOOST_HAS_GETTIMEOFDAY +#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +#define BOOST_HAS_SIGACTION + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + + + + + + diff --git a/boost_1_33_1/boost/config/platform/cygwin.hpp b/boost_1_33_1/boost/config/platform/cygwin.hpp new file mode 100644 index 0000000..0fd2ebe --- /dev/null +++ b/boost_1_33_1/boost/config/platform/cygwin.hpp @@ -0,0 +1,48 @@ +// (C) Copyright John Maddock 2001 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// cygwin specific config options: + +#define BOOST_PLATFORM "Cygwin" +#define BOOST_NO_CWCTYPE +#define BOOST_NO_CWCHAR +#define BOOST_NO_SWPRINTF +#define BOOST_HAS_DIRENT_H + +// +// Threading API: +// See if we have POSIX threads, if we do use them, otherwise +// revert to native Win threads. +#define BOOST_HAS_UNISTD_H +#include +#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) +# define BOOST_HAS_PTHREADS +# define BOOST_HAS_SCHED_YIELD +# define BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# define BOOST_HAS_SIGACTION +#else +# if !defined(BOOST_HAS_WINTHREADS) +# define BOOST_HAS_WINTHREADS +# endif +# define BOOST_HAS_FTIME +#endif + +// +// find out if we have a stdint.h, there should be a better way to do this: +// +#include +#ifdef _STDINT_H +#define BOOST_HAS_STDINT_H +#endif + +// boilerplate code: +#include + + + + diff --git a/boost_1_33_1/boost/config/platform/hpux.hpp b/boost_1_33_1/boost/config/platform/hpux.hpp new file mode 100644 index 0000000..fa773aa --- /dev/null +++ b/boost_1_33_1/boost/config/platform/hpux.hpp @@ -0,0 +1,68 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2003. +// (C) Copyright David Abrahams 2002. +// (C) Copyright Toon Knapen 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// hpux specific config options: + +#define BOOST_PLATFORM "HP-UX" + +// In principle, HP-UX has a nice under the name +// However, it has the following problem: +// Use of UINT32_C(0) results in "0u l" for the preprocessed source +// (verifyable with gcc 2.95.3, assumed for HP aCC) +// #define BOOST_HAS_STDINT_H + +#define BOOST_NO_SWPRINTF +#define BOOST_NO_CWCTYPE + +#if defined(__GNUC__) +# if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3)) + // GNU C on HP-UX does not support threads (checked up to gcc 3.3) +# define BOOST_DISABLE_THREADS +# elif !defined(BOOST_DISABLE_THREADS) + // threads supported from gcc-3.3 onwards: +# define BOOST_HAS_THREADS +# define BOOST_HAS_PTHREADS +# endif +#endif + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + +// the following are always available: +#ifndef BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_GETTIMEOFDAY +#endif +#ifndef BOOST_HAS_SCHED_YIELD +# define BOOST_HAS_SCHED_YIELD +#endif +#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +#endif +#ifndef BOOST_HAS_NL_TYPES_H +# define BOOST_HAS_NL_TYPES_H +#endif +#ifndef BOOST_HAS_NANOSLEEP +# define BOOST_HAS_NANOSLEEP +#endif +#ifndef BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_GETTIMEOFDAY +#endif +#ifndef BOOST_HAS_DIRENT_H +# define BOOST_HAS_DIRENT_H +#endif +#ifndef BOOST_HAS_CLOCK_GETTIME +# define BOOST_HAS_CLOCK_GETTIME +#endif +#ifndef BOOST_HAS_SIGACTION +# define BOOST_HAS_SIGACTION +#endif + + diff --git a/boost_1_33_1/boost/config/platform/irix.hpp b/boost_1_33_1/boost/config/platform/irix.hpp new file mode 100644 index 0000000..aeae49c --- /dev/null +++ b/boost_1_33_1/boost/config/platform/irix.hpp @@ -0,0 +1,31 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + +// See http://www.boost.org for most recent version. + +// SGI Irix specific config options: + +#define BOOST_PLATFORM "SGI Irix" + +#define BOOST_NO_SWPRINTF +// +// these are not auto detected by POSIX feature tests: +// +#define BOOST_HAS_GETTIMEOFDAY +#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE + +#ifdef __GNUC__ + // GNU C on IRIX does not support threads (checked up to gcc 3.3) +# define BOOST_DISABLE_THREADS +#endif + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + + + diff --git a/boost_1_33_1/boost/config/platform/linux.hpp b/boost_1_33_1/boost/config/platform/linux.hpp new file mode 100644 index 0000000..51ae133 --- /dev/null +++ b/boost_1_33_1/boost/config/platform/linux.hpp @@ -0,0 +1,98 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// linux specific config options: + +#define BOOST_PLATFORM "linux" + +// make sure we have __GLIBC_PREREQ if available at all +#include + +// +// added to glibc 2.1.1 +// We can only test for 2.1 though: +// +#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) + // defines int64_t unconditionally, but defines + // int64_t only if __GNUC__. Thus, assume a fully usable + // only when using GCC. +# if defined __GNUC__ +# define BOOST_HAS_STDINT_H +# endif +#endif + +#if defined(__LIBCOMO__) + // + // como on linux doesn't have std:: c functions: + // NOTE: versions of libcomo prior to beta28 have octal version numbering, + // e.g. version 25 is 21 (dec) + // +# if __LIBCOMO_VERSION__ <= 20 +# define BOOST_NO_STDC_NAMESPACE +# endif + +# if __LIBCOMO_VERSION__ <= 21 +# define BOOST_NO_SWPRINTF +# endif + +#endif + +// +// If glibc is past version 2 then we definitely have +// gettimeofday, earlier versions may or may not have it: +// +#if defined(__GLIBC__) && (__GLIBC__ >= 2) +# define BOOST_HAS_GETTIMEOFDAY +#endif + +#ifdef __USE_POSIX199309 +# define BOOST_HAS_NANOSLEEP +#endif + +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ) +// __GLIBC_PREREQ is available since 2.1.2 + + // swprintf is available since glibc 2.2.0 +# if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98)) +# define BOOST_NO_SWPRINTF +# endif +#else +# define BOOST_NO_SWPRINTF +#endif + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + +#ifndef __GNUC__ +// +// if the compiler is not gcc we still need to be able to parse +// the GNU system headers, some of which (mainly ) +// use GNU specific extensions: +// +# ifndef __extension__ +# define __extension__ +# endif +# ifndef __const__ +# define __const__ const +# endif +# ifndef __volatile__ +# define __volatile__ volatile +# endif +# ifndef __signed__ +# define __signed__ signed +# endif +# ifndef __typeof__ +# define __typeof__ typeof +# endif +# ifndef __inline__ +# define __inline__ inline +# endif +#endif + + diff --git a/boost_1_33_1/boost/config/platform/macos.hpp b/boost_1_33_1/boost/config/platform/macos.hpp new file mode 100644 index 0000000..d6877d3 --- /dev/null +++ b/boost_1_33_1/boost/config/platform/macos.hpp @@ -0,0 +1,78 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001 - 2002. +// (C) Copyright Bill Kempf 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Mac OS specific config options: + +#define BOOST_PLATFORM "Mac OS" + +#if __MACH__ && !defined(_MSL_USING_MSL_C) + +// Using the Mac OS X system BSD-style C library. + +# ifndef BOOST_HAS_UNISTD_H +# define BOOST_HAS_UNISTD_H +# endif +// +// Begin by including our boilerplate code for POSIX +// feature detection, this is safe even when using +// the MSL as Metrowerks supply their own +// to replace the platform-native BSD one. G++ users +// should also always be able to do this on MaxOS X. +// +# include +# ifndef BOOST_HAS_STDINT_H +# define BOOST_HAS_STDINT_H +# endif + +// +// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday, +// of these only pthreads are advertised in , so set the +// other options explicitly: +// +# define BOOST_HAS_SCHED_YIELD +# define BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_SIGACTION + +# if (__GNUC__ < 3) && !defined( __APPLE_CC__) + +// GCC strange "ignore std" mode works better if you pretend everything +// is in the std namespace, for the most part. + +# define BOOST_NO_STDC_NAMESPACE +# endif + +#else + +// Using the MSL C library. + +// We will eventually support threads in non-Carbon builds, but we do +// not support this yet. +# if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON ) + +# if !defined(BOOST_HAS_PTHREADS) +# define BOOST_HAS_MPTASKS +# elif ( __dest_os == __mac_os_x ) +// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the +// gettimeofday and no posix. +# define BOOST_HAS_GETTIMEOFDAY +# endif + +// The MP task implementation of Boost Threads aims to replace MP-unsafe +// parts of the MSL, so we turn on threads unconditionally. +# define BOOST_HAS_THREADS + +// The remote call manager depends on this. +# define BOOST_BIND_ENABLE_PASCAL + +# endif + +#endif + + + diff --git a/boost_1_33_1/boost/config/platform/solaris.hpp b/boost_1_33_1/boost/config/platform/solaris.hpp new file mode 100644 index 0000000..700dc3c --- /dev/null +++ b/boost_1_33_1/boost/config/platform/solaris.hpp @@ -0,0 +1,21 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// sun specific config options: + +#define BOOST_PLATFORM "Sun Solaris" + +#define BOOST_HAS_GETTIMEOFDAY + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + + + + diff --git a/boost_1_33_1/boost/config/platform/win32.hpp b/boost_1_33_1/boost/config/platform/win32.hpp new file mode 100644 index 0000000..9344818 --- /dev/null +++ b/boost_1_33_1/boost/config/platform/win32.hpp @@ -0,0 +1,58 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Bill Kempf 2001. +// (C) Copyright Aleksey Gurtovoy 2003. +// (C) Copyright Rene Rivera 2005. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Win32 specific config options: + +#define BOOST_PLATFORM "Win32" + +// Get the information about the MinGW runtime, i.e. __MINGW32_*VERSION. +#if defined(__MINGW32__) +# include <_mingw.h> +#endif + +#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF) +# define BOOST_NO_SWPRINTF +#endif + +#if !defined(__GNUC__) && !defined(BOOST_HAS_DECLSPEC) +# define BOOST_HAS_DECLSPEC +#endif + +#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0))) +# define BOOST_HAS_STDINT_H +# define __STDC_LIMIT_MACROS +# define BOOST_HAS_DIRENT_H +# define BOOST_HAS_UNISTD_H +#endif + +// +// Win32 will normally be using native Win32 threads, +// but there is a pthread library avaliable as an option, +// we used to disable this when BOOST_DISABLE_WIN32 was +// defined but no longer - this should allow some +// files to be compiled in strict mode - while maintaining +// a consistent setting of BOOST_HAS_THREADS across +// all translation units (needed for shared_ptr etc). +// + +#ifdef _WIN32_WCE +# define BOOST_NO_ANSI_APIS +#endif + +#ifndef BOOST_HAS_PTHREADS +# define BOOST_HAS_WINTHREADS +#endif + +#ifndef BOOST_DISABLE_WIN32 +// WEK: Added +#define BOOST_HAS_FTIME +#define BOOST_WINDOWS 1 + +#endif diff --git a/boost_1_33_1/boost/config/posix_features.hpp b/boost_1_33_1/boost/config/posix_features.hpp new file mode 100644 index 0000000..4afb476 --- /dev/null +++ b/boost_1_33_1/boost/config/posix_features.hpp @@ -0,0 +1,87 @@ +// (C) Copyright John Maddock 2001 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + +// See http://www.boost.org for most recent version. + +// All POSIX feature tests go in this file, +// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well +// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's +// may be present but none-functional unless _POSIX_C_SOURCE and +// _XOPEN_SOURCE have been defined to the right value (it's up +// to the user to do this *before* including any header, although +// in most cases the compiler will do this for you). + +# if defined(BOOST_HAS_UNISTD_H) +# include + + // XOpen has , but is this the correct version check? +# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3) +# define BOOST_HAS_NL_TYPES_H +# endif + + // POSIX version 6 requires +# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100) +# define BOOST_HAS_STDINT_H +# endif + + // POSIX version 2 requires +# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L) +# define BOOST_HAS_DIRENT_H +# endif + + // POSIX version 3 requires to have sigaction: +# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L) +# define BOOST_HAS_SIGACTION +# endif + // POSIX defines _POSIX_THREADS > 0 for pthread support, + // however some platforms define _POSIX_THREADS without + // a value, hence the (_POSIX_THREADS+0 >= 0) check. + // Strictly speaking this may catch platforms with a + // non-functioning stub , but such occurrences should + // occur very rarely if at all. +# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS) +# define BOOST_HAS_PTHREADS +# endif + + // BOOST_HAS_NANOSLEEP: + // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME: +# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \ + || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) +# define BOOST_HAS_NANOSLEEP +# endif + + // BOOST_HAS_CLOCK_GETTIME: + // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME + // but at least one platform - linux - defines that flag without + // defining clock_gettime): +# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) +# define BOOST_HAS_CLOCK_GETTIME +# endif + + // BOOST_HAS_SCHED_YIELD: + // This is predicated on _POSIX_PRIORITY_SCHEDULING or + // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME. +# if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\ + || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\ + || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) +# define BOOST_HAS_SCHED_YIELD +# endif + + // BOOST_HAS_GETTIMEOFDAY: + // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE: + // These are predicated on _XOPEN_VERSION, and appears to be first released + // in issue 4, version 2 (_XOPEN_VERSION > 500). +# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500) +# define BOOST_HAS_GETTIMEOFDAY +# if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500) +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# endif +# endif + +# endif + + + diff --git a/boost_1_33_1/boost/config/requires_threads.hpp b/boost_1_33_1/boost/config/requires_threads.hpp new file mode 100644 index 0000000..cfaff23 --- /dev/null +++ b/boost_1_33_1/boost/config/requires_threads.hpp @@ -0,0 +1,92 @@ +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + +#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP +#define BOOST_CONFIG_REQUIRES_THREADS_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_DISABLE_THREADS) + +// +// special case to handle versions of gcc which don't currently support threads: +// +#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG)) +// +// this is checked up to gcc 3.3: +// +#if defined(__sgi) || defined(__hpux) +# error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)" +#endif + +#endif + +# error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS" + +#elif !defined(BOOST_HAS_THREADS) + +# if defined __COMO__ +// Comeau C++ +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)" + +#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) +// Intel +#ifdef _WIN32 +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" +#else +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp" +#endif + +# elif defined __GNUC__ +// GNU C++: +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" + +#elif defined __sgi +// SGI MIPSpro C++ +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE" + +#elif defined __DECCXX +// Compaq Tru64 Unix cxx +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread" + +#elif defined __BORLANDC__ +// Borland +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM" + +#elif defined __MWERKS__ +// Metrowerks CodeWarrior +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd" + +#elif defined __SUNPRO_CC +// Sun Workshop Compiler C++ +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" + +#elif defined __HP_aCC +// HP aCC +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" + +#elif defined(__IBMCPP__) +// IBM Visual Age +# error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler" + +#elif defined _MSC_VER +// Microsoft Visual C++ +// +// Must remain the last #elif since some other vendors (Metrowerks, for +// example) also #define _MSC_VER +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" + +#else + +# error "Compiler threading support is not turned on. Please consult your compiler's documentation for the appropriate options to use" + +#endif // compilers + +#endif // BOOST_HAS_THREADS + +#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP diff --git a/boost_1_33_1/boost/config/select_compiler_config.hpp b/boost_1_33_1/boost/config/select_compiler_config.hpp new file mode 100644 index 0000000..3453f1a --- /dev/null +++ b/boost_1_33_1/boost/config/select_compiler_config.hpp @@ -0,0 +1,83 @@ +// Boost compiler configuration selection header file + +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Martin Wille 2003. +// (C) Copyright Guillaume Melquiond 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// locate which compiler we are using and define +// BOOST_COMPILER_CONFIG as needed: + +# if defined __COMO__ +// Comeau C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp" + +#elif defined __DMC__ +// Digital Mars C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp" + +#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) +// Intel +# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" + +# elif defined __GNUC__ +// GNU C++: +# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp" + +#elif defined __KCC +// Kai C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp" + +#elif defined __sgi +// SGI MIPSpro C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp" + +#elif defined __DECCXX +// Compaq Tru64 Unix cxx +# define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp" + +#elif defined __ghs +// Greenhills C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp" + +#elif defined __BORLANDC__ +// Borland +# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp" + +#elif defined __MWERKS__ +// Metrowerks CodeWarrior +# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp" + +#elif defined __SUNPRO_CC +// Sun Workshop Compiler C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp" + +#elif defined __HP_aCC +// HP aCC +# define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp" + +#elif defined(__MRC__) || defined(__SC__) +// MPW MrCpp or SCpp +# define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp" + +#elif defined(__IBMCPP__) +// IBM Visual Age +# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" + +#elif defined _MSC_VER +// Microsoft Visual C++ +// +// Must remain the last #elif since some other vendors (Metrowerks, for +// example) also #define _MSC_VER +# define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp" + +#elif defined (BOOST_ASSERT_CONFIG) +// this must come last - generate an error if we don't +// recognise the compiler: +# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)" + +#endif diff --git a/boost_1_33_1/boost/config/select_platform_config.hpp b/boost_1_33_1/boost/config/select_platform_config.hpp new file mode 100644 index 0000000..2101ed4 --- /dev/null +++ b/boost_1_33_1/boost/config/select_platform_config.hpp @@ -0,0 +1,86 @@ +// Boost compiler configuration selection header file + +// (C) Copyright John Maddock 2001 - 2002. +// (C) Copyright Jens Maurer 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed. +// Note that we define the headers to include using "header_name" not +// in order to prevent macro expansion within the header +// name (for example "linux" is a macro on linux systems). + +#if defined(linux) || defined(__linux) || defined(__linux__) +// linux: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp" + +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) +// BSD: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp" + +#elif defined(sun) || defined(__sun) +// solaris: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp" + +#elif defined(__sgi) +// SGI Irix: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp" + +#elif defined(__hpux) +// hp unix: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp" + +#elif defined(__CYGWIN__) +// cygwin is not win32: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +// win32: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" + +#elif defined(__BEOS__) +// BeOS +# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" + +#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) +// MacOS +# define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" + +#elif defined(__IBMCPP__) || defined(_AIX) +// IBM +# define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" + +#elif defined(__amigaos__) +// AmigaOS +# define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" + +#else + +# if defined(unix) \ + || defined(__unix) \ + || defined(_XOPEN_SOURCE) \ + || defined(_POSIX_SOURCE) + + // generic unix platform: + +# ifndef BOOST_HAS_UNISTD_H +# define BOOST_HAS_UNISTD_H +# endif + +# include + +# endif + +# if defined (BOOST_ASSERT_CONFIG) + // this must come last - generate an error if we don't + // recognise the platform: +# error "Unknown platform - please configure and report the results to boost.org" +# endif + +#endif + + + diff --git a/boost_1_33_1/boost/config/select_stdlib_config.hpp b/boost_1_33_1/boost/config/select_stdlib_config.hpp new file mode 100644 index 0000000..b7bf591 --- /dev/null +++ b/boost_1_33_1/boost/config/select_stdlib_config.hpp @@ -0,0 +1,68 @@ +// Boost compiler configuration selection header file + +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + +// See http://www.boost.org for most recent version. + +// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed: + +// we need to include a std lib header here in order to detect which +// library is in use, use as it's about the smallest +// of the std lib headers - do not rely on this header being included - +// users can short-circuit this header if they know whose std lib +// they are using. + +#include + +#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) +// STLPort library; this _must_ come first, otherwise since +// STLport typically sits on top of some other library, we +// can end up detecting that first rather than STLport: +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp" + +#elif defined(__LIBCOMO__) +// Comeau STL: +#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp" + +#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) +// Rogue Wave library: +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp" + +#elif defined(__GLIBCPP__) || defined(__GLIBCXX__) +// GNU libstdc++ 3 +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp" + +#elif defined(__STL_CONFIG_H) +// generic SGI STL +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp" + +#elif defined(__MSL_CPP__) +// MSL standard lib: +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp" + +#elif defined(__IBMCPP__) +// take the default VACPP std lib +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp" + +#elif defined(MSIPL_COMPILE_H) +// Modena C++ standard library +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp" + +#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) +// Dinkumware Library (this has to appear after any possible replacement libraries): +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp" + +#elif defined (BOOST_ASSERT_CONFIG) +// this must come last - generate an error if we don't +// recognise the library: +# error "Unknown standard library - please configure and report the results to boost.org" + +#endif + + + diff --git a/boost_1_33_1/boost/config/stdlib/dinkumware.hpp b/boost_1_33_1/boost/config/stdlib/dinkumware.hpp new file mode 100644 index 0000000..aa214fc --- /dev/null +++ b/boost_1_33_1/boost/config/stdlib/dinkumware.hpp @@ -0,0 +1,106 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright David Abrahams 2002. +// (C) Copyright Guillaume Melquiond 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Dinkumware standard library config: + +#if !defined(_YVALS) && !defined(_CPPLIB_VER) +#include +#if !defined(_YVALS) && !defined(_CPPLIB_VER) +#error This is not the Dinkumware lib! +#endif +#endif + + +#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306) + // full dinkumware 3.06 and above + // fully conforming provided the compiler supports it: +# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h +# define BOOST_NO_STDC_NAMESPACE +# endif +# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC) +# define BOOST_NO_STD_ALLOCATOR +# endif +# define BOOST_HAS_PARTIAL_STD_ALLOCATOR +# if defined(BOOST_MSVC) && (BOOST_MSVC < 1300) + // if this lib version is set up for vc6 then there is no std::use_facet: +# define BOOST_NO_STD_USE_FACET +# define BOOST_HAS_TWO_ARG_USE_FACET + // C lib functions aren't in namespace std either: +# define BOOST_NO_STDC_NAMESPACE + // and nor is +# define BOOST_NO_EXCEPTION_STD_NAMESPACE +# endif +// There's no numeric_limits support unless _LONGLONG is defined: +# if !defined(_LONGLONG) && (_CPPLIB_VER <= 310) +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +# endif +// 3.06 appears to have (non-sgi versions of) & , +// and no at all +#else +# define BOOST_MSVC_STD_ITERATOR 1 +# define BOOST_NO_STD_ITERATOR +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# define BOOST_NO_STD_ALLOCATOR +# define BOOST_NO_STDC_NAMESPACE +# define BOOST_NO_STD_USE_FACET +# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN +# define BOOST_HAS_MACRO_USE_FACET +# ifndef _CPPLIB_VER + // Updated Dinkum library defines this, and provides + // its own min and max definitions. +# define BOOST_NO_STD_MIN_MAX +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +# endif +#endif + +// +// std extension namespace is stdext for vc7.1 and later, +// the same applies to other compilers that sit on top +// of vc7.1 (Intel and Comeau): +// +#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__) +# define BOOST_STD_EXTENSION_NAMESPACE stdext +#endif + + +#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306) + // if we're using a dinkum lib that's + // been configured for VC6/7 then there is + // no iterator traits (true even for icl) +# define BOOST_NO_STD_ITERATOR_TRAITS +#endif + +#if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310) +// Intel C++ chokes over any non-trivial use of +// this may be an overly restrictive define, but regex fails without it: +# define BOOST_NO_STD_LOCALE +#endif + +#ifdef _CPPLIB_VER +# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER +#else +# define BOOST_DINKUMWARE_STDLIB 1 +#endif + +#ifdef _CPPLIB_VER +# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER) +#else +# define BOOST_STDLIB "Dinkumware standard library version 1.x" +#endif + + + + + + + + + diff --git a/boost_1_33_1/boost/config/stdlib/libcomo.hpp b/boost_1_33_1/boost/config/stdlib/libcomo.hpp new file mode 100644 index 0000000..b2c8e44 --- /dev/null +++ b/boost_1_33_1/boost/config/stdlib/libcomo.hpp @@ -0,0 +1,46 @@ +// (C) Copyright John Maddock 2002 - 2003. +// (C) Copyright Jens Maurer 2002 - 2003. +// (C) Copyright Beman Dawes 2002 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Comeau STL: + +#if !defined(__LIBCOMO__) +# include +# if !defined(__LIBCOMO__) +# error "This is not the Comeau STL!" +# endif +#endif + +// +// std::streambuf is non-standard +// NOTE: versions of libcomo prior to beta28 have octal version numbering, +// e.g. version 25 is 21 (dec) +#if __LIBCOMO_VERSION__ <= 22 +# define BOOST_NO_STD_WSTREAMBUF +#endif + +#if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32) +#define BOOST_NO_SWPRINTF +#endif + +#if __LIBCOMO_VERSION__ >= 31 +# define BOOST_HAS_HASH +# define BOOST_HAS_SLIST +#endif + +// +// Intrinsic type_traits support. +// The SGI STL has it's own __type_traits class, which +// has intrinsic compiler support with SGI's compilers. +// Whatever map SGI style type traits to boost equivalents: +// +#define BOOST_HAS_SGI_TYPE_TRAITS + +#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__) + + diff --git a/boost_1_33_1/boost/config/stdlib/libstdcpp3.hpp b/boost_1_33_1/boost/config/stdlib/libstdcpp3.hpp new file mode 100644 index 0000000..5cf5ef7 --- /dev/null +++ b/boost_1_33_1/boost/config/stdlib/libstdcpp3.hpp @@ -0,0 +1,64 @@ +// (C) Copyright John Maddock 2001. +// (C) Copyright Jens Maurer 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// config for libstdc++ v3 +// not much to go in here: + +#ifdef __GLIBCXX__ +#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__) +#else +#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) +#endif + +#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) +# define BOOST_NO_CWCHAR +# define BOOST_NO_CWCTYPE +# define BOOST_NO_STD_WSTRING +# define BOOST_NO_STD_WSTREAMBUF +#endif + +#if defined(__osf__) && !defined(_REENTRANT) \ + && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) ) +// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header +// file is included, therefore for consistency we define it here as well. +# define _REENTRANT +#endif + +#ifdef __GLIBCXX__ // gcc 3.4 and greater: +# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \ + || defined(_GLIBCXX__PTHREADS) + // + // If the std lib has thread support turned on, then turn it on in Boost + // as well. We do this because some gcc-3.4 std lib headers define _REENTANT + // while others do not... + // +# define BOOST_HAS_THREADS +# else +# define BOOST_DISABLE_THREADS +# endif +#elif defined(__GLIBCPP__) \ + && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \ + && !defined(_GLIBCPP__PTHREADS) + // disable thread support if the std lib was built single threaded: +# define BOOST_DISABLE_THREADS +#endif + +#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT) +// linux on arm apparently doesn't define _REENTRANT +// so just turn on threading support whenever the std lib is thread safe: +# define BOOST_HAS_THREADS +#endif + + +#if !defined(_GLIBCPP_USE_LONG_LONG) \ + && !defined(_GLIBCXX_USE_LONG_LONG)\ + && defined(BOOST_HAS_LONG_LONG) +// May have been set by compiler/*.hpp, but "long long" without library +// support is useless. +# undef BOOST_HAS_LONG_LONG +#endif diff --git a/boost_1_33_1/boost/config/stdlib/modena.hpp b/boost_1_33_1/boost/config/stdlib/modena.hpp new file mode 100644 index 0000000..61e31b7 --- /dev/null +++ b/boost_1_33_1/boost/config/stdlib/modena.hpp @@ -0,0 +1,30 @@ +// (C) Copyright Jens Maurer 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Modena C++ standard library (comes with KAI C++) + +#if !defined(MSIPL_COMPILE_H) +# include +# if !defined(__MSIPL_COMPILE_H) +# error "This is not the Modena C++ library!" +# endif +#endif + +#ifndef MSIPL_NL_TYPES +#define BOOST_NO_STD_MESSAGES +#endif + +#ifndef MSIPL_WCHART +#define BOOST_NO_STD_WSTRING +#endif + +#define BOOST_STDLIB "Modena C++ standard library" + + + + + diff --git a/boost_1_33_1/boost/config/stdlib/msl.hpp b/boost_1_33_1/boost/config/stdlib/msl.hpp new file mode 100644 index 0000000..0df8e0e --- /dev/null +++ b/boost_1_33_1/boost/config/stdlib/msl.hpp @@ -0,0 +1,59 @@ +// (C) Copyright John Maddock 2001. +// (C) Copyright Darin Adler 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Metrowerks standard library: + +#ifndef __MSL_CPP__ +# include +# ifndef __MSL_CPP__ +# error This is not the MSL standard library! +# endif +#endif + +#if __MSL_CPP__ >= 0x6000 // Pro 6 +# define BOOST_HAS_HASH +# define BOOST_STD_EXTENSION_NAMESPACE Metrowerks +#endif +#define BOOST_HAS_SLIST + +#if __MSL_CPP__ < 0x6209 +# define BOOST_NO_STD_MESSAGES +#endif + +// check C lib version for +#include + +#if defined(__MSL__) && (__MSL__ >= 0x5000) +# define BOOST_HAS_STDINT_H +# if !defined(__PALMOS_TRAPS__) +# define BOOST_HAS_UNISTD_H +# endif + // boilerplate code: +# include +#endif + +#if defined(_MWMT) || _MSL_THREADSAFE +# define BOOST_HAS_THREADS +#endif + +#ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG +# define BOOST_NO_STD_USE_FACET +# define BOOST_HAS_TWO_ARG_USE_FACET +#endif + + +#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) + + + + + + + + + diff --git a/boost_1_33_1/boost/config/stdlib/roguewave.hpp b/boost_1_33_1/boost/config/stdlib/roguewave.hpp new file mode 100644 index 0000000..b331f65 --- /dev/null +++ b/boost_1_33_1/boost/config/stdlib/roguewave.hpp @@ -0,0 +1,127 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001. +// (C) Copyright David Abrahams 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Rogue Wave std lib: + +#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) +# include +# if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) +# error This is not the Rogue Wave standard library +# endif +#endif +// +// figure out a consistent version number: +// +#ifndef _RWSTD_VER +# define BOOST_RWSTD_VER 0x010000 +#elif _RWSTD_VER < 0x010000 +# define BOOST_RWSTD_VER (_RWSTD_VER << 8) +#else +# define BOOST_RWSTD_VER _RWSTD_VER +#endif + +#ifndef _RWSTD_VER +# define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)" +#else +# define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER) +#endif + +// +// Prior to version 2.2.0 the primary template for std::numeric_limits +// does not have compile time constants, even though specializations of that +// template do: +// +#if BOOST_RWSTD_VER < 0x020200 +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +#endif + +// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the +// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817): +#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550)) +# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS +# endif + +// +// Borland version of numeric_limits lacks __int64 specialisation: +// +#ifdef __BORLANDC__ +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +#endif + +// +// No std::iterator if it can't figure out default template args: +// +#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000) +# define BOOST_NO_STD_ITERATOR +#endif + +// +// No iterator traits without partial specialization: +// +#if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC) +# define BOOST_NO_STD_ITERATOR_TRAITS +#endif + +// +// Prior to version 2.0, std::auto_ptr was buggy, and there were no +// new-style iostreams, and no conformant std::allocator: +// +#if (BOOST_RWSTD_VER < 0x020000) +# define BOOST_NO_AUTO_PTR +# define BOOST_NO_STRINGSTREAM +# define BOOST_NO_STD_ALLOCATOR +# define BOOST_NO_STD_LOCALE +#endif + +// +// No template iterator constructors without member template support: +// +#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES) +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +#endif + +// +// RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use +// (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR +// on HP aCC systems even though the allocator is in fact broken): +// +#if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100) +# define BOOST_NO_STD_ALLOCATOR +#endif + +// +// If we have a std::locale, we still may not have std::use_facet: +// +#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE) +# define BOOST_NO_STD_USE_FACET +# define BOOST_HAS_TWO_ARG_USE_FACET +#endif + +// +// There's no std::distance prior to version 2, or without +// partial specialization support: +// +#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) + #define BOOST_NO_STD_DISTANCE +#endif + +// +// Some versions of the rogue wave library don't have assignable +// OutputIterators: +// +#if BOOST_RWSTD_VER < 0x020100 +# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN +#endif + +// +// Disable BOOST_HAS_LONG_LONG when the library has no support for it. +// +#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG) +# undef BOOST_HAS_LONG_LONG +#endif diff --git a/boost_1_33_1/boost/config/stdlib/sgi.hpp b/boost_1_33_1/boost/config/stdlib/sgi.hpp new file mode 100644 index 0000000..67f7a0a --- /dev/null +++ b/boost_1_33_1/boost/config/stdlib/sgi.hpp @@ -0,0 +1,111 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Jens Maurer 2001 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// generic SGI STL: + +#if !defined(__STL_CONFIG_H) +# include +# if !defined(__STL_CONFIG_H) +# error "This is not the SGI STL!" +# endif +#endif + +// +// No std::iterator traits without partial specialisation: +// +#if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) +# define BOOST_NO_STD_ITERATOR_TRAITS +#endif + +// +// No std::stringstream with gcc < 3 +// +#if defined(__GNUC__) && (__GNUC__ < 3) && \ + ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \ + !defined(__STL_USE_NEW_IOSTREAMS) || \ + defined(__APPLE_CC__) + // Note that we only set this for GNU C++ prior to 2.95 since the + // latest patches for that release do contain a minimal + // If you are running a 2.95 release prior to 2.95.3 then this will need + // setting, but there is no way to detect that automatically (other + // than by running the configure script). + // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't + // have . +# define BOOST_NO_STRINGSTREAM +#endif + +// +// Assume no std::locale without own iostreams (this may be an +// incorrect assumption in some cases): +// +#if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS) +# define BOOST_NO_STD_LOCALE +#endif + +// +// Original native SGI streams have non-standard std::messages facet: +// +#if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS) +# define BOOST_NO_STD_LOCALE +#endif + +// +// SGI's new iostreams have missing "const" in messages<>::open +// +#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS) +# define BOOST_NO_STD_MESSAGES +#endif + +// +// No template iterator constructors, or std::allocator +// without member templates: +// +#if !defined(__STL_MEMBER_TEMPLATES) +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# define BOOST_NO_STD_ALLOCATOR +#endif + +// +// We always have SGI style hash_set, hash_map, and slist: +// +#define BOOST_HAS_HASH +#define BOOST_HAS_SLIST + +// +// If this is GNU libstdc++2, then no and no std::wstring: +// +#if (defined(__GNUC__) && (__GNUC__ < 3)) +# include +# if defined(__BASTRING__) +# define BOOST_NO_LIMITS +// Note: will provide compile-time constants +# undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# define BOOST_NO_STD_WSTRING +# endif +#endif + +// +// There is no standard iterator unless we have namespace support: +// +#if !defined(__STL_USE_NAMESPACES) +# define BOOST_NO_STD_ITERATOR +#endif + +// +// Intrinsic type_traits support. +// The SGI STL has it's own __type_traits class, which +// has intrinsic compiler support with SGI's compilers. +// Whatever map SGI style type traits to boost equivalents: +// +#define BOOST_HAS_SGI_TYPE_TRAITS + +#define BOOST_STDLIB "SGI standard library" + + + diff --git a/boost_1_33_1/boost/config/stdlib/stlport.hpp b/boost_1_33_1/boost/config/stdlib/stlport.hpp new file mode 100644 index 0000000..294f96e --- /dev/null +++ b/boost_1_33_1/boost/config/stdlib/stlport.hpp @@ -0,0 +1,201 @@ +// (C) Copyright John Maddock 2001 - 2002. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Jens Maurer 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// STLPort standard library config: + +#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) +# include +# if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) +# error "This is not STLPort!" +# endif +#endif + +// +// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +// for versions prior to 4.1(beta) +// +#if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400) +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +#endif + +// +// If STLport thinks that there is no partial specialisation, then there is no +// std::iterator traits: +// +#if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION)) +# define BOOST_NO_STD_ITERATOR_TRAITS +#endif + +// +// No new style iostreams on GCC without STLport's iostreams enabled: +// +#if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS)) +# define BOOST_NO_STRINGSTREAM +#endif + +// +// No new iostreams implies no std::locale, and no std::stringstream: +// +#if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS) +# define BOOST_NO_STD_LOCALE +# define BOOST_NO_STRINGSTREAM +#endif + +// +// If the streams are not native, and we have a "using ::x" compiler bug +// then the io stream facets are not available in namespace std:: +// +#ifdef _STLPORT_VERSION +# if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) +# define BOOST_NO_STD_LOCALE +# endif +#else +# if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) +# define BOOST_NO_STD_LOCALE +# endif +#endif + +// +// Without member template support enabled, their are no template +// iterate constructors, and no std::allocator: +// +#if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES)) +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# define BOOST_NO_STD_ALLOCATOR +#endif +// +// however we always have at least a partial allocator: +// +#define BOOST_HAS_PARTIAL_STD_ALLOCATOR + +#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) || defined(_STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE) +# define BOOST_NO_STD_ALLOCATOR +#endif + +#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300) +# define BOOST_NO_STD_ALLOCATOR +#endif + +// +// If STLport thinks there is no wchar_t at all, then we have to disable +// the support for the relevant specilazations of std:: templates. +// +#if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT) +# ifndef BOOST_NO_STD_WSTRING +# define BOOST_NO_STD_WSTRING +# endif +# ifndef BOOST_NO_STD_WSTREAMBUF +# define BOOST_NO_STD_WSTREAMBUF +# endif +#endif + +// +// We always have SGI style hash_set, hash_map, and slist: +// +#define BOOST_HAS_HASH +#define BOOST_HAS_SLIST + +// +// STLport does a good job of importing names into namespace std::, +// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our +// workaround does not conflict with STLports: +// +// +// Harold Howe says: +// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with +// BCB6 does cause problems. If we detect C++ Builder, then don't define +// BOOST_NO_STDC_NAMESPACE +// +#if !defined(__BORLANDC__) && !defined(__DMC__) +// +// If STLport is using it's own namespace, and the real names are in +// the global namespace, then we duplicate STLport's using declarations +// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't +// necessarily import all the names we need into namespace std:: +// +# if (defined(__STL_IMPORT_VENDOR_CSTD) \ + || defined(__STL_USE_OWN_NAMESPACE) \ + || defined(_STLP_IMPORT_VENDOR_CSTD) \ + || defined(_STLP_USE_OWN_NAMESPACE)) \ + && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD)) +# define BOOST_NO_STDC_NAMESPACE +# define BOOST_NO_EXCEPTION_STD_NAMESPACE +# endif +#elif defined(__BORLANDC__) && __BORLANDC__ < 0x560 +// STLport doesn't import std::abs correctly: +#include +namespace std { using ::abs; } +// and strcmp/strcpy don't get imported either ('cos they are macros) +#include +#ifdef strcpy +# undef strcpy +#endif +#ifdef strcmp +# undef strcmp +#endif +#ifdef _STLP_VENDOR_CSTD +namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; } +#endif +#endif + +// +// std::use_facet may be non-standard, uses a class instead: +// +#if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) +# define BOOST_NO_STD_USE_FACET +# define BOOST_HAS_STLP_USE_FACET +#endif + +// +// If STLport thinks there are no wide functions, etc. is not working; but +// only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import +// into std:: ourselves). +// +#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE) +# define BOOST_NO_CWCHAR +# define BOOST_NO_CWCTYPE +#endif + +// +// If STLport for some reason was configured so that it thinks that wchar_t +// is not an intrinsic type, then we have to disable the support for it as +// well (we would be missing required specializations otherwise). +// +#if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT) +# undef BOOST_NO_INTRINSIC_WCHAR_T +# define BOOST_NO_INTRINSIC_WCHAR_T +#endif + +// +// Borland ships a version of STLport with C++ Builder 6 that lacks +// hashtables and the like: +// +#if defined(__BORLANDC__) && (__BORLANDC__ == 0x560) +# undef BOOST_HAS_HASH +#endif + +// +// gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max +// +#if defined(__GNUC__) && (__GNUC__ < 3) +# include // for std::min and std::max +# define BOOST_USING_STD_MIN() ((void)0) +# define BOOST_USING_STD_MAX() ((void)0) +namespace boost { using std::min; using std::max; } +#endif + +#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT) + + + + + + + + diff --git a/boost_1_33_1/boost/config/stdlib/vacpp.hpp b/boost_1_33_1/boost/config/stdlib/vacpp.hpp new file mode 100644 index 0000000..8321ee0 --- /dev/null +++ b/boost_1_33_1/boost/config/stdlib/vacpp.hpp @@ -0,0 +1,18 @@ +// (C) Copyright John Maddock 2001 - 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +#if __IBMCPP__ <= 501 +# define BOOST_NO_STD_ALLOCATOR +#endif + +#define BOOST_HAS_MACRO_USE_FACET +#define BOOST_NO_STD_MESSAGES + +#define BOOST_STDLIB "Visual Age default standard library" + + + diff --git a/boost_1_33_1/boost/config/suffix.hpp b/boost_1_33_1/boost/config/suffix.hpp new file mode 100644 index 0000000..d4d9502 --- /dev/null +++ b/boost_1_33_1/boost/config/suffix.hpp @@ -0,0 +1,547 @@ +// Boost config.hpp configuration header file ------------------------------// + +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright Bill Kempf 2002. +// (C) Copyright Jens Maurer 2002. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Gennaro Prota 2003. +// (C) Copyright Eric Friedman 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Boost config.hpp policy and rationale documentation has been moved to +// http://www.boost.org/libs/config +// +// This file is intended to be stable, and relatively unchanging. +// It should contain boilerplate code only - no compiler specific +// code unless it is unavoidable - no changes unless unavoidable. + +#ifndef BOOST_CONFIG_SUFFIX_HPP +#define BOOST_CONFIG_SUFFIX_HPP + +// +// look for long long by looking for the appropriate macros in . +// Note that we use limits.h rather than climits for maximal portability, +// remember that since these just declare a bunch of macros, there should be +// no namespace issues from this. +// +#include +# if !defined(BOOST_HAS_LONG_LONG) \ + && !defined(BOOST_MSVC) && !defined(__BORLANDC__) \ + && (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) +# define BOOST_HAS_LONG_LONG +#endif + +// TODO: Remove the following lines after the 1.33 release because the presence +// of an integral 64 bit type has nothing to do with support for long long. + +#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(__DECCXX_VER) +# define BOOST_NO_INTEGRAL_INT64_T +#endif + +// GCC 3.x will clean up all of those nasty macro definitions that +// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine +// it under GCC 3.x. +#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS) +# undef BOOST_NO_CTYPE_FUNCTIONS +#endif + + +// +// Assume any extensions are in namespace std:: unless stated otherwise: +// +# ifndef BOOST_STD_EXTENSION_NAMESPACE +# define BOOST_STD_EXTENSION_NAMESPACE std +# endif + +// +// If cv-qualified specializations are not allowed, then neither are cv-void ones: +// +# if defined(BOOST_NO_CV_SPECIALIZATIONS) \ + && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS) +# define BOOST_NO_CV_VOID_SPECIALIZATIONS +# endif + +// +// If there is no numeric_limits template, then it can't have any compile time +// constants either! +// +# if defined(BOOST_NO_LIMITS) \ + && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS +# endif + +// +// if there is no long long then there is no specialisation +// for numeric_limits either: +// +#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS) +# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS +#endif + +// +// if there is no __int64 then there is no specialisation +// for numeric_limits<__int64> either: +// +#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS) +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +#endif + +// +// if member templates are supported then so is the +// VC6 subset of member templates: +// +# if !defined(BOOST_NO_MEMBER_TEMPLATES) \ + && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) +# define BOOST_MSVC6_MEMBER_TEMPLATES +# endif + +// +// Without partial specialization, can't test for partial specialisation bugs: +// +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) +# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG +# endif + +// +// Without partial specialization, we can't have array-type partial specialisations: +// +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) +# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS +# endif + +// +// Without partial specialization, std::iterator_traits can't work: +// +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_NO_STD_ITERATOR_TRAITS) +# define BOOST_NO_STD_ITERATOR_TRAITS +# endif + +// +// Without member template support, we can't have template constructors +// in the standard library either: +// +# if defined(BOOST_NO_MEMBER_TEMPLATES) \ + && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ + && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# endif + +// +// Without member template support, we can't have a conforming +// std::allocator template either: +// +# if defined(BOOST_NO_MEMBER_TEMPLATES) \ + && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ + && !defined(BOOST_NO_STD_ALLOCATOR) +# define BOOST_NO_STD_ALLOCATOR +# endif + +// +// without ADL support then using declarations will break ADL as well: +// +#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#endif + +// +// If we have a standard allocator, then we have a partial one as well: +// +#if !defined(BOOST_NO_STD_ALLOCATOR) +# define BOOST_HAS_PARTIAL_STD_ALLOCATOR +#endif + +// +// We can't have a working std::use_facet if there is no std::locale: +// +# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET) +# define BOOST_NO_STD_USE_FACET +# endif + +// +// We can't have a std::messages facet if there is no std::locale: +// +# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES) +# define BOOST_NO_STD_MESSAGES +# endif + +// +// We can't have a working std::wstreambuf if there is no std::locale: +// +# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF) +# define BOOST_NO_STD_WSTREAMBUF +# endif + +// +// We can't have a if there is no : +// +# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE) +# define BOOST_NO_CWCTYPE +# endif + +// +// We can't have a swprintf if there is no : +// +# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF) +# define BOOST_NO_SWPRINTF +# endif + +// +// If Win32 support is turned off, then we must turn off +// threading support also, unless there is some other +// thread API enabled: +// +#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \ + && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS) +# define BOOST_DISABLE_THREADS +#endif + +// +// Turn on threading support if the compiler thinks that it's in +// multithreaded mode. We put this here because there are only a +// limited number of macros that identify this (if there's any missing +// from here then add to the appropriate compiler section): +// +#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \ + || defined(_PTHREADS)) && !defined(BOOST_HAS_THREADS) +# define BOOST_HAS_THREADS +#endif + +// +// Turn threading support off if BOOST_DISABLE_THREADS is defined: +// +#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS) +# undef BOOST_HAS_THREADS +#endif + +// +// Turn threading support off if we don't recognise the threading API: +// +#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\ + && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\ + && !defined(BOOST_HAS_MPTASKS) +# undef BOOST_HAS_THREADS +#endif + +// +// Turn threading detail macros off if we don't (want to) use threading +// +#ifndef BOOST_HAS_THREADS +# undef BOOST_HAS_PTHREADS +# undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# undef BOOST_HAS_WINTHREADS +# undef BOOST_HAS_BETHREADS +# undef BOOST_HAS_MPTASKS +#endif + +// +// If the compiler claims to be C99 conformant, then it had better +// have a : +// +# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) +# define BOOST_HAS_STDINT_H +# endif + +// +// Define BOOST_NO_SLIST and BOOST_NO_HASH if required. +// Note that this is for backwards compatibility only. +// +# ifndef BOOST_HAS_SLIST +# define BOOST_NO_SLIST +# endif + +# ifndef BOOST_HAS_HASH +# define BOOST_NO_HASH +# endif + +// BOOST_HAS_ABI_HEADERS +// This macro gets set if we have headers that fix the ABI, +// and prevent ODR violations when linking to external libraries: +#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS) +# define BOOST_HAS_ABI_HEADERS +#endif + +#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS) +# undef BOOST_HAS_ABI_HEADERS +#endif + +// BOOST_NO_STDC_NAMESPACE workaround --------------------------------------// +// Because std::size_t usage is so common, even in boost headers which do not +// otherwise use the C library, the workaround is included here so +// that ugly workaround code need not appear in many other boost headers. +// NOTE WELL: This is a workaround for non-conforming compilers; +// must still be #included in the usual places so that inclusion +// works as expected with standard conforming compilers. The resulting +// double inclusion of is harmless. + +# ifdef BOOST_NO_STDC_NAMESPACE +# include + namespace std { using ::ptrdiff_t; using ::size_t; } +# endif + +// Workaround for the unfortunate min/max macros defined by some platform headers + +#define BOOST_PREVENT_MACRO_SUBSTITUTION + +#ifndef BOOST_USING_STD_MIN +# define BOOST_USING_STD_MIN() using std::min +#endif + +#ifndef BOOST_USING_STD_MAX +# define BOOST_USING_STD_MAX() using std::max +#endif + +// BOOST_NO_STD_MIN_MAX workaround -----------------------------------------// + +# ifdef BOOST_NO_STD_MIN_MAX + +namespace std { + template + inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { + return __b < __a ? __b : __a; + } + template + inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { + return __a < __b ? __b : __a; + } +} + +# endif + +// BOOST_STATIC_CONSTANT workaround --------------------------------------- // +// On compilers which don't allow in-class initialization of static integral +// constant members, we must use enums as a workaround if we want the constants +// to be available at compile-time. This macro gives us a convenient way to +// declare such constants. + +# ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment } +# else +# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment +# endif + +// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------// +// When the standard library does not have a conforming std::use_facet there +// are various workarounds available, but they differ from library to library. +// The same problem occurs with has_facet. +// These macros provide a consistent way to access a locale's facets. +// Usage: +// replace +// std::use_facet(loc); +// with +// BOOST_USE_FACET(Type, loc); +// Note do not add a std:: prefix to the front of BOOST_USE_FACET! +// Use for BOOST_HAS_FACET is analagous. + +#if defined(BOOST_NO_STD_USE_FACET) +# ifdef BOOST_HAS_TWO_ARG_USE_FACET +# define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast(0)) +# define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast(0)) +# elif defined(BOOST_HAS_MACRO_USE_FACET) +# define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type) +# define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type) +# elif defined(BOOST_HAS_STLP_USE_FACET) +# define BOOST_USE_FACET(Type, loc) (*std::_Use_facet(loc)) +# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) +# endif +#else +# define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc) +# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) +#endif + +// BOOST_NESTED_TEMPLATE workaround ------------------------------------------// +// Member templates are supported by some compilers even though they can't use +// the A::template member syntax, as a workaround replace: +// +// typedef typename A::template rebind binder; +// +// with: +// +// typedef typename A::BOOST_NESTED_TEMPLATE rebind binder; + +#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD +# define BOOST_NESTED_TEMPLATE template +#else +# define BOOST_NESTED_TEMPLATE +#endif + +// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------// +// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION +// is defined, in which case it evaluates to return x; Use when you have a return +// statement that can never be reached. + +#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION +# define BOOST_UNREACHABLE_RETURN(x) return x; +#else +# define BOOST_UNREACHABLE_RETURN(x) +#endif + +// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------// +// +// Some compilers don't support the use of `typename' for dependent +// types in deduced contexts, e.g. +// +// template void f(T, typename T::type); +// ^^^^^^^^ +// Replace these declarations with: +// +// template void f(T, BOOST_DEDUCED_TYPENAME T::type); + +#ifndef BOOST_NO_DEDUCED_TYPENAME +# define BOOST_DEDUCED_TYPENAME typename +#else +# define BOOST_DEDUCED_TYPENAME +#endif + +// long long workaround ------------------------------------------// +// On gcc (and maybe other compilers?) long long is alway supported +// but it's use may generate either warnings (with -ansi), or errors +// (with -pedantic -ansi) unless it's use is prefixed by __extension__ +// +#if defined(BOOST_HAS_LONG_LONG) +namespace boost{ +# ifdef __GNUC__ + __extension__ typedef long long long_long_type; + __extension__ typedef unsigned long long ulong_long_type; +# else + typedef long long long_long_type; + typedef unsigned long long ulong_long_type; +# endif +} +#endif + +// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------// +// +// Some compilers have problems with function templates whose +// template parameters don't appear in the function parameter +// list (basically they just link one instantiation of the +// template in the final executable). These macros provide a +// uniform way to cope with the problem with no effects on the +// calling syntax. + +// Example: +// +// #include +// #include +// #include +// +// template +// void f() { std::cout << n << ' '; } +// +// template +// void g() { std::cout << typeid(T).name() << ' '; } +// +// int main() { +// f<1>(); +// f<2>(); +// +// g(); +// g(); +// } +// +// With VC++ 6.0 the output is: +// +// 2 2 double double +// +// To fix it, write +// +// template +// void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... } +// +// template +// void g(BOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... } +// + + +#if defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS + +# include "boost/type.hpp" +# include "boost/non_type.hpp" + +# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) boost::type* = 0 +# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) boost::type* +# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) boost::non_type* = 0 +# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) boost::non_type* + +# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) \ + , BOOST_EXPLICIT_TEMPLATE_TYPE(t) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) \ + , BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) \ + , BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) \ + , BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) + +#else + +// no workaround needed: expand to nothing + +# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) +# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) +# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) +# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) + +# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) + + +#endif // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS + + +// ---------------------------------------------------------------------------// + +// +// Helper macro BOOST_STRINGIZE: +// Converts the parameter X to a string after macro replacement +// on X has been performed. +// +#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) +#define BOOST_DO_STRINGIZE(X) #X + +// +// Helper macro BOOST_JOIN: +// The following piece of macro magic joins the two +// arguments together, even when one of the arguments is +// itself a macro (see 16.3.1 in C++ standard). The key +// is that macro expansion of macro arguments does not +// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN. +// +#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y ) +#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y) +#define BOOST_DO_JOIN2( X, Y ) X##Y + +// +// Set some default values for compiler/library/platform names. +// These are for debugging config setup only: +// +# ifndef BOOST_COMPILER +# define BOOST_COMPILER "Unknown ISO C++ Compiler" +# endif +# ifndef BOOST_STDLIB +# define BOOST_STDLIB "Unknown ISO standard library" +# endif +# ifndef BOOST_PLATFORM +# if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \ + || defined(_POSIX_SOURCE) +# define BOOST_PLATFORM "Generic Unix" +# else +# define BOOST_PLATFORM "Unknown" +# endif +# endif + +#endif + + + diff --git a/boost_1_33_1/boost/config/user.hpp b/boost_1_33_1/boost/config/user.hpp new file mode 100644 index 0000000..5a4a9d4 --- /dev/null +++ b/boost_1_33_1/boost/config/user.hpp @@ -0,0 +1,124 @@ +// boost/config/user.hpp ---------------------------------------------------// + +// (C) Copyright John Maddock 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// Do not check in modified versions of this file, +// This file may be customized by the end user, but not by boost. + +// +// Use this file to define a site and compiler specific +// configuration policy: +// + +// define this to locate a compiler config file: +// #define BOOST_COMPILER_CONFIG + +// define this to locate a stdlib config file: +// #define BOOST_STDLIB_CONFIG + +// define this to locate a platform config file: +// #define BOOST_PLATFORM_CONFIG + +// define this to disable compiler config, +// use if your compiler config has nothing to set: +// #define BOOST_NO_COMPILER_CONFIG + +// define this to disable stdlib config, +// use if your stdlib config has nothing to set: +// #define BOOST_NO_STDLIB_CONFIG + +// define this to disable platform config, +// use if your platform config has nothing to set: +// #define BOOST_NO_PLATFORM_CONFIG + +// define this to disable all config options, +// excluding the user config. Use if your +// setup is fully ISO compliant, and has no +// useful extensions, or for autoconf generated +// setups: +// #define BOOST_NO_CONFIG + +// define this to make the config "optimistic" +// about unknown compiler versions. Normally +// unknown compiler versions are assumed to have +// all the defects of the last known version, however +// setting this flag, causes the config to assume +// that unknown compiler versions are fully conformant +// with the standard: +// #define BOOST_STRICT_CONFIG + +// define this to cause the config to halt compilation +// with an #error if it encounters anything unknown -- +// either an unknown compiler version or an unknown +// compiler/platform/library: +// #define BOOST_ASSERT_CONFIG + + +// define if you want to disable threading support, even +// when available: +// #define BOOST_DISABLE_THREADS + +// define when you want to disable Win32 specific features +// even when available: +// #define BOOST_DISABLE_WIN32 + +// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any +// prefix/suffix headers that normally control things like struct +// packing and alignment. +// #define BOOST_DISABLE_ABI_HEADERS + +// BOOST_ABI_PREFIX: A prefix header to include in place of whatever +// boost.config would normally select, any replacement should set up +// struct packing and alignment options as required. +// #define BOOST_ABI_PREFIX my-header-name + +// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever +// boost.config would normally select, any replacement should undo +// the effects of the prefix header. +// #define BOOST_ABI_SUFFIX my-header-name + +// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, +// to be linked as dll's rather than static libraries on Microsoft Windows +// (this macro is used to turn on __declspec(dllimport) modifiers, so that +// the compiler knows which symbols to look for in a dll rather than in a +// static library). Note that there may be some libraries that can only +// be statically linked (Boost.Test for example) and others which may only +// be dynamically linked (Boost.Threads for example), in these cases this +// macro has no effect. +// #define BOOST_ALL_DYN_LINK + +// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll +// rather than a static library on Microsoft Windows: replace the WHATEVER +// part of the macro name with the name of the library that you want to +// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or +// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) +// modifiers, so that the compiler knows which symbols to look for in a dll +// rather than in a static library). +// Note that there may be some libraries that can only be statically linked +// (Boost.Test for example) and others which may only be dynamically linked +// (Boost.Threads for example), in these cases this macro is unsupported. +// #define BOOST_WHATEVER_DYN_LINK + +// BOOST_ALL_NO_LIB: Tells the config system not to automatically select +// which libraries to link against. +// Normally if a compiler supports #pragma lib, then the correct library +// build variant will be automatically selected and linked against, +// simply by the act of including one of that library's headers. +// This macro turns that feature off. +// #define BOOST_ALL_NO_LIB + +// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically +// select which library to link against for library "whatever", +// replace WHATEVER in the macro name with the name of the library; +// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB. +// Normally if a compiler supports #pragma lib, then the correct library +// build variant will be automatically selected and linked against, simply +// by the act of including one of that library's headers. This macro turns +// that feature off. +// #define BOOST_WHATEVER_NO_LIB + + + diff --git a/boost_1_33_1/boost/detail/algorithm.hpp b/boost_1_33_1/boost/detail/algorithm.hpp new file mode 100644 index 0000000..4cc52c1 --- /dev/null +++ b/boost_1_33_1/boost/detail/algorithm.hpp @@ -0,0 +1,249 @@ +// (C) Copyright Jeremy Siek 2001. Permission to copy, use, modify, +// sell and distribute this software is granted provided this +// copyright notice appears in all copies. This software is provided +// "as is" without express or implied warranty, and with no claim as +// to its suitability for any purpose. + +/* + * + * Copyright (c) 1994 + * Hewlett-Packard Company + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Hewlett-Packard Company makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + * + * + * Copyright (c) 1996 + * Silicon Graphics Computer Systems, Inc. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Silicon Graphics makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + */ + +#ifndef BOOST_ALGORITHM_HPP +# define BOOST_ALGORITHM_HPP +# include +// Algorithms on sequences +// +// The functions in this file have not yet gone through formal +// review, and are subject to change. This is a work in progress. +// They have been checked into the detail directory because +// there are some graph algorithms that use these functions. + +#include +#include + +namespace boost { + + template + Iter1 begin(const std::pair& p) { return p.first; } + + template + Iter2 end(const std::pair& p) { return p.second; } + + template + typename boost::detail::iterator_traits::difference_type + size(const std::pair& p) { + return std::distance(p.first, p.second); + } + +#if 0 + // These seem to interfere with the std::pair overloads :( + template + typename Container::iterator + begin(Container& c) { return c.begin(); } + + template + typename Container::const_iterator + begin(const Container& c) { return c.begin(); } + + template + typename Container::iterator + end(Container& c) { return c.end(); } + + template + typename Container::const_iterator + end(const Container& c) { return c.end(); } + + template + typename Container::size_type + size(const Container& c) { return c.size(); } +#else + template + typename std::vector::iterator + begin(std::vector& c) { return c.begin(); } + + template + typename std::vector::const_iterator + begin(const std::vector& c) { return c.begin(); } + + template + typename std::vector::iterator + end(std::vector& c) { return c.end(); } + + template + typename std::vector::const_iterator + end(const std::vector& c) { return c.end(); } + + template + typename std::vector::size_type + size(const std::vector& c) { return c.size(); } +#endif + + template + void iota(ForwardIterator first, ForwardIterator last, T value) + { + for (; first != last; ++first, ++value) + *first = value; + } + template + void iota(Container& c, const T& value) + { + iota(begin(c), end(c), value); + } + + // Also do version with 2nd container? + template + OutIter copy(const Container& c, OutIter result) { + return std::copy(begin(c), end(c), result); + } + + template + bool equal(const Container1& c1, const Container2& c2) + { + if (size(c1) != size(c2)) + return false; + return std::equal(begin(c1), end(c1), begin(c2)); + } + + template + void sort(Container& c) { std::sort(begin(c), end(c)); } + + template + void sort(Container& c, const Predicate& p) { + std::sort(begin(c), end(c), p); + } + + template + void stable_sort(Container& c) { std::stable_sort(begin(c), end(c)); } + + template + void stable_sort(Container& c, const Predicate& p) { + std::stable_sort(begin(c), end(c), p); + } + + template + bool any_if(InputIterator first, InputIterator last, Predicate p) + { + return std::find_if(first, last, p) != last; + } + template + bool any_if(const Container& c, Predicate p) + { + return any_if(begin(c), end(c), p); + } + + template + bool contains(InputIterator first, InputIterator last, T value) + { + return std::find(first, last, value) != last; + } + template + bool contains(const Container& c, const T& value) + { + return contains(begin(c), end(c), value); + } + + template + bool all(InputIterator first, InputIterator last, Predicate p) + { + for (; first != last; ++first) + if (!p(*first)) + return false; + return true; + } + template + bool all(const Container& c, Predicate p) + { + return all(begin(c), end(c), p); + } + + template + bool none(InputIterator first, InputIterator last, Predicate p) + { + return std::find_if(first, last, p) == last; + } + template + bool none(const Container& c, Predicate p) + { + return none(begin(c), end(c), p); + } + + template + std::size_t count(const Container& c, const T& value) + { + return std::count(begin(c), end(c), value); + } + + template + std::size_t count_if(const Container& c, Predicate p) + { + return std::count_if(begin(c), end(c), p); + } + + template + bool is_sorted(ForwardIterator first, ForwardIterator last) + { + if (first == last) + return true; + + ForwardIterator next = first; + for (++next; next != last; first = next, ++next) { + if (*next < *first) + return false; + } + + return true; + } + + template + bool is_sorted(ForwardIterator first, ForwardIterator last, + StrictWeakOrdering comp) + { + if (first == last) + return true; + + ForwardIterator next = first; + for (++next; next != last; first = next, ++next) { + if (comp(*next, *first)) + return false; + } + + return true; + } + + template + bool is_sorted(const Container& c) + { + return is_sorted(begin(c), end(c)); + } + + template + bool is_sorted(const Container& c, StrictWeakOrdering comp) + { + return is_sorted(begin(c), end(c), comp); + } + +} // namespace boost + +#endif // BOOST_ALGORITHM_HPP diff --git a/boost_1_33_1/boost/detail/allocator_utilities.hpp b/boost_1_33_1/boost/detail/allocator_utilities.hpp new file mode 100644 index 0000000..6929087 --- /dev/null +++ b/boost_1_33_1/boost/detail/allocator_utilities.hpp @@ -0,0 +1,185 @@ +/* Copyright 2003-2005 Joaqun M Lpez Muoz. + * Distributed under the Boost Software License, Version 1.0. + * (See accompanying file LICENSE_1_0.txt or copy at + * http://www.boost.org/LICENSE_1_0.txt) + * + * See Boost website at http://www.boost.org/ + */ + +#ifndef BOOST_DETAIL_ALLOCATOR_UTILITIES_HPP +#define BOOST_DETAIL_ALLOCATOR_UTILITIES_HPP + +#include /* keep it first to prevent nasty warns in MSVC */ +#include +#include +#include +#include +#include +#include +#include + +namespace boost{ + +namespace detail{ + +/* Allocator adaption layer. Some stdlibs provide allocators without rebind + * and template ctors. These facilities are simulated with the external + * template class rebind_to and the aid of partial_std_allocator_wrapper. + */ + +namespace allocator{ + +/* partial_std_allocator_wrapper inherits the functionality of a std + * allocator while providing a templatized ctor. + */ + +template +class partial_std_allocator_wrapper:public std::allocator +{ +public: + partial_std_allocator_wrapper(){}; + + template + partial_std_allocator_wrapper(const partial_std_allocator_wrapper&){} + + partial_std_allocator_wrapper(const std::allocator& x): + std::allocator(x) + { + }; + +#if defined(BOOST_DINKUMWARE_STDLIB) + /* Dinkumware guys didn't provide a means to call allocate() without + * supplying a hint, in disagreement with the standard. + */ + + Type* allocate(std::size_t n,const void* hint=0) + { + std::allocator& a=*this; + return a.allocate(n,hint); + } +#endif + +}; + +/* Detects whether a given allocator belongs to a defective stdlib not + * having the required member templates. + * Note that it does not suffice to check the Boost.Config stdlib + * macros, as the user might have passed a custom, compliant allocator. + * The checks also considers partial_std_allocator_wrapper to be + * a standard defective allocator. + */ + +#if defined(BOOST_NO_STD_ALLOCATOR)&&\ + (defined(BOOST_HAS_PARTIAL_STD_ALLOCATOR)||defined(BOOST_DINKUMWARE_STDLIB)) + +template +struct is_partial_std_allocator +{ + BOOST_STATIC_CONSTANT(bool, + value= + (is_same< + std::allocator, + Allocator + >::value)|| + (is_same< + partial_std_allocator_wrapper< + BOOST_DEDUCED_TYPENAME Allocator::value_type>, + Allocator + >::value)); +}; + +#else + +template +struct is_partial_std_allocator +{ + BOOST_STATIC_CONSTANT(bool,value=false); +}; + +#endif + +/* rebind operations for defective std allocators */ + +template +struct partial_std_allocator_rebind_to +{ + typedef partial_std_allocator_wrapper type; +}; + +/* rebind operation in all other cases */ + +#if BOOST_WORKAROUND(BOOST_MSVC,<1300) +/* Workaround for a problem in MSVC with dependent template typedefs + * when doing rebinding of allocators. + * Modeled after (thanks, Aleksey!) + */ + +template +struct rebinder +{ + template struct fake_allocator:Allocator{}; + template<> struct fake_allocator + { + template struct rebind{}; + }; + + template + struct result: + fake_allocator::value>:: + template rebind + { + }; +}; +#else +template +struct rebinder +{ + template + struct result + { + typedef typename Allocator::BOOST_NESTED_TEMPLATE + rebind::other other; + }; +}; +#endif + +template +struct compliant_allocator_rebind_to +{ + typedef typename rebinder:: + BOOST_NESTED_TEMPLATE result::other type; +}; + +/* rebind front-end */ + +template +struct rebind_to: + mpl::eval_if_c< + is_partial_std_allocator::value, + partial_std_allocator_rebind_to, + compliant_allocator_rebind_to + > +{ +}; + +/* allocator-independent versions of construct and destroy */ + +template +void construct(void* p,const Type& t) +{ + new (p) Type(t); +} + +template +void destroy(const Type* p) +{ + p->~Type(); +} + +} /* namespace boost::detail::allocator */ + +} /* namespace boost::detail */ + +} /* namespace boost */ + +#endif diff --git a/boost_1_33_1/boost/detail/atomic_count.hpp b/boost_1_33_1/boost/detail/atomic_count.hpp new file mode 100644 index 0000000..9985b2c --- /dev/null +++ b/boost_1_33_1/boost/detail/atomic_count.hpp @@ -0,0 +1,108 @@ +#ifndef BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED +#define BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/atomic_count.hpp - thread/SMP safe reference counter +// +// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// typedef boost::detail::atomic_count; +// +// atomic_count a(n); +// +// (n is convertible to long) +// +// Effects: Constructs an atomic_count with an initial value of n +// +// a; +// +// Returns: (long) the current value of a +// +// ++a; +// +// Effects: Atomically increments the value of a +// Returns: nothing +// +// --a; +// +// Effects: Atomically decrements the value of a +// Returns: (long) zero if the new value of a is zero, +// unspecified non-zero value otherwise (usually the new value) +// +// Important note: when --a returns zero, it must act as a +// read memory barrier (RMB); i.e. the calling thread must +// have a synchronized view of the memory +// +// On Intel IA-32 (x86) memory is always synchronized, so this +// is not a problem. +// +// On many architectures the atomic instructions already act as +// a memory barrier. +// +// This property is necessary for proper reference counting, since +// a thread can update the contents of a shared object, then +// release its reference, and another thread may immediately +// release the last reference causing object destruction. +// +// The destructor needs to have a synchronized view of the +// object to perform proper cleanup. +// +// Original example by Alexander Terekhov: +// +// Given: +// +// - a mutable shared object OBJ; +// - two threads THREAD1 and THREAD2 each holding +// a private smart_ptr object pointing to that OBJ. +// +// t1: THREAD1 updates OBJ (thread-safe via some synchronization) +// and a few cycles later (after "unlock") destroys smart_ptr; +// +// t2: THREAD2 destroys smart_ptr WITHOUT doing any synchronization +// with respect to shared mutable object OBJ; OBJ destructors +// are called driven by smart_ptr interface... +// + +#include + +#ifndef BOOST_HAS_THREADS + +namespace boost +{ + +namespace detail +{ + +typedef long atomic_count; + +} + +} + +#elif defined(BOOST_AC_USE_PTHREADS) +# include +#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) +# include +#elif defined(__GLIBCPP__) || defined(__GLIBCXX__) +# include +#elif defined(BOOST_HAS_PTHREADS) +# define BOOST_AC_USE_PTHREADS +# include +#else + +// Use #define BOOST_DISABLE_THREADS to avoid the error +#error Unrecognized threading platform + +#endif + +#endif // #ifndef BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/atomic_count_gcc.hpp b/boost_1_33_1/boost/detail/atomic_count_gcc.hpp new file mode 100644 index 0000000..1160e44 --- /dev/null +++ b/boost_1_33_1/boost/detail/atomic_count_gcc.hpp @@ -0,0 +1,68 @@ +#ifndef BOOST_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED +#define BOOST_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED + +// +// boost/detail/atomic_count_gcc.hpp +// +// atomic_count for GNU libstdc++ v3 +// +// http://gcc.gnu.org/onlinedocs/porting/Thread-safety.html +// +// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. +// Copyright (c) 2002 Lars Gullik Bjnnes +// Copyright 2003-2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#include + +namespace boost +{ + +namespace detail +{ + +#if defined(__GLIBCXX__) // g++ 3.4+ + +using __gnu_cxx::__atomic_add; +using __gnu_cxx::__exchange_and_add; + +#endif + +class atomic_count +{ +public: + + explicit atomic_count(long v) : value_(v) {} + + void operator++() + { + __atomic_add(&value_, 1); + } + + long operator--() + { + return __exchange_and_add(&value_, -1) - 1; + } + + operator long() const + { + return __exchange_and_add(&value_, 0); + } + +private: + + atomic_count(atomic_count const &); + atomic_count & operator=(atomic_count const &); + + mutable _Atomic_word value_; +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/atomic_count_pthreads.hpp b/boost_1_33_1/boost/detail/atomic_count_pthreads.hpp new file mode 100644 index 0000000..7ed055f --- /dev/null +++ b/boost_1_33_1/boost/detail/atomic_count_pthreads.hpp @@ -0,0 +1,96 @@ +#ifndef BOOST_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED +#define BOOST_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED + +// +// boost/detail/atomic_count_pthreads.hpp +// +// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#include + +// +// The generic pthread_mutex-based implementation sometimes leads to +// inefficiencies. Example: a class with two atomic_count members +// can get away with a single mutex. +// +// Users can detect this situation by checking BOOST_AC_USE_PTHREADS. +// + +namespace boost +{ + +namespace detail +{ + +class atomic_count +{ +private: + + class scoped_lock + { + public: + + scoped_lock(pthread_mutex_t & m): m_(m) + { + pthread_mutex_lock(&m_); + } + + ~scoped_lock() + { + pthread_mutex_unlock(&m_); + } + + private: + + pthread_mutex_t & m_; + }; + +public: + + explicit atomic_count(long v): value_(v) + { + pthread_mutex_init(&mutex_, 0); + } + + ~atomic_count() + { + pthread_mutex_destroy(&mutex_); + } + + void operator++() + { + scoped_lock lock(mutex_); + ++value_; + } + + long operator--() + { + scoped_lock lock(mutex_); + return --value_; + } + + operator long() const + { + scoped_lock lock(mutex_); + return value_; + } + +private: + + atomic_count(atomic_count const &); + atomic_count & operator=(atomic_count const &); + + mutable pthread_mutex_t mutex_; + long value_; +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/atomic_count_win32.hpp b/boost_1_33_1/boost/detail/atomic_count_win32.hpp new file mode 100644 index 0000000..0de2537 --- /dev/null +++ b/boost_1_33_1/boost/detail/atomic_count_win32.hpp @@ -0,0 +1,63 @@ +#ifndef BOOST_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED +#define BOOST_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/atomic_count_win32.hpp +// +// Copyright (c) 2001-2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#include + +namespace boost +{ + +namespace detail +{ + +class atomic_count +{ +public: + + explicit atomic_count( long v ): value_( v ) + { + } + + long operator++() + { + return BOOST_INTERLOCKED_INCREMENT( &value_ ); + } + + long operator--() + { + return BOOST_INTERLOCKED_DECREMENT( &value_ ); + } + + operator long() const + { + return static_cast( value_ ); + } + +private: + + atomic_count( atomic_count const & ); + atomic_count & operator=( atomic_count const & ); + + long value_; +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/bad_weak_ptr.hpp b/boost_1_33_1/boost/detail/bad_weak_ptr.hpp new file mode 100644 index 0000000..a08d7b1 --- /dev/null +++ b/boost_1_33_1/boost/detail/bad_weak_ptr.hpp @@ -0,0 +1,59 @@ +#ifndef BOOST_BAD_WEAK_PTR_HPP_INCLUDED +#define BOOST_BAD_WEAK_PTR_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/bad_weak_ptr.hpp +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#include + +#ifdef __BORLANDC__ +# pragma warn -8026 // Functions with excep. spec. are not expanded inline +#endif + +namespace boost +{ + +// The standard library that comes with Borland C++ 5.5.1, 5.6.4 +// defines std::exception and its members as having C calling +// convention (-pc). When the definition of bad_weak_ptr +// is compiled with -ps, the compiler issues an error. +// Hence, the temporary #pragma option -pc below. + +#if defined(__BORLANDC__) && __BORLANDC__ <= 0x564 +# pragma option push -pc +#endif + +class bad_weak_ptr: public std::exception +{ +public: + + virtual char const * what() const throw() + { + return "boost::bad_weak_ptr"; + } +}; + +#if defined(__BORLANDC__) && __BORLANDC__ <= 0x564 +# pragma option pop +#endif + +} // namespace boost + +#ifdef __BORLANDC__ +# pragma warn .8026 // Functions with excep. spec. are not expanded inline +#endif + +#endif // #ifndef BOOST_BAD_WEAK_PTR_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/binary_search.hpp b/boost_1_33_1/boost/detail/binary_search.hpp new file mode 100644 index 0000000..3dca9b6 --- /dev/null +++ b/boost_1_33_1/boost/detail/binary_search.hpp @@ -0,0 +1,216 @@ +// Copyright (c) 2000 David Abrahams. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Copyright (c) 1994 +// Hewlett-Packard Company +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appear in all copies and +// that both that copyright notice and this permission notice appear +// in supporting documentation. Hewlett-Packard Company makes no +// representations about the suitability of this software for any +// purpose. It is provided "as is" without express or implied warranty. +// +// Copyright (c) 1996 +// Silicon Graphics Computer Systems, Inc. +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appear in all copies and +// that both that copyright notice and this permission notice appear +// in supporting documentation. Silicon Graphics makes no +// representations about the suitability of this software for any +// purpose. It is provided "as is" without express or implied warranty. +// +#ifndef BINARY_SEARCH_DWA_122600_H_ +# define BINARY_SEARCH_DWA_122600_H_ + +# include +# include + +namespace boost { namespace detail { + +template +ForwardIter lower_bound(ForwardIter first, ForwardIter last, + const Tp& val) +{ + typedef detail::iterator_traits traits; + + typename traits::difference_type len = boost::detail::distance(first, last); + typename traits::difference_type half; + ForwardIter middle; + + while (len > 0) { + half = len >> 1; + middle = first; + std::advance(middle, half); + if (*middle < val) { + first = middle; + ++first; + len = len - half - 1; + } + else + len = half; + } + return first; +} + +template +ForwardIter lower_bound(ForwardIter first, ForwardIter last, + const Tp& val, Compare comp) +{ + typedef detail::iterator_traits traits; + + typename traits::difference_type len = boost::detail::distance(first, last); + typename traits::difference_type half; + ForwardIter middle; + + while (len > 0) { + half = len >> 1; + middle = first; + std::advance(middle, half); + if (comp(*middle, val)) { + first = middle; + ++first; + len = len - half - 1; + } + else + len = half; + } + return first; +} + +template +ForwardIter upper_bound(ForwardIter first, ForwardIter last, + const Tp& val) +{ + typedef detail::iterator_traits traits; + + typename traits::difference_type len = boost::detail::distance(first, last); + typename traits::difference_type half; + ForwardIter middle; + + while (len > 0) { + half = len >> 1; + middle = first; + std::advance(middle, half); + if (val < *middle) + len = half; + else { + first = middle; + ++first; + len = len - half - 1; + } + } + return first; +} + +template +ForwardIter upper_bound(ForwardIter first, ForwardIter last, + const Tp& val, Compare comp) +{ + typedef detail::iterator_traits traits; + + typename traits::difference_type len = boost::detail::distance(first, last); + typename traits::difference_type half; + ForwardIter middle; + + while (len > 0) { + half = len >> 1; + middle = first; + std::advance(middle, half); + if (comp(val, *middle)) + len = half; + else { + first = middle; + ++first; + len = len - half - 1; + } + } + return first; +} + +template +std::pair +equal_range(ForwardIter first, ForwardIter last, const Tp& val) +{ + typedef detail::iterator_traits traits; + + typename traits::difference_type len = boost::detail::distance(first, last); + typename traits::difference_type half; + ForwardIter middle, left, right; + + while (len > 0) { + half = len >> 1; + middle = first; + std::advance(middle, half); + if (*middle < val) { + first = middle; + ++first; + len = len - half - 1; + } + else if (val < *middle) + len = half; + else { + left = boost::detail::lower_bound(first, middle, val); + std::advance(first, len); + right = boost::detail::upper_bound(++middle, first, val); + return std::pair(left, right); + } + } + return std::pair(first, first); +} + +template +std::pair +equal_range(ForwardIter first, ForwardIter last, const Tp& val, + Compare comp) +{ + typedef detail::iterator_traits traits; + + typename traits::difference_type len = boost::detail::distance(first, last); + typename traits::difference_type half; + ForwardIter middle, left, right; + + while (len > 0) { + half = len >> 1; + middle = first; + std::advance(middle, half); + if (comp(*middle, val)) { + first = middle; + ++first; + len = len - half - 1; + } + else if (comp(val, *middle)) + len = half; + else { + left = boost::detail::lower_bound(first, middle, val, comp); + std::advance(first, len); + right = boost::detail::upper_bound(++middle, first, val, comp); + return std::pair(left, right); + } + } + return std::pair(first, first); +} + +template +bool binary_search(ForwardIter first, ForwardIter last, + const Tp& val) { + ForwardIter i = boost::detail::lower_bound(first, last, val); + return i != last && !(val < *i); +} + +template +bool binary_search(ForwardIter first, ForwardIter last, + const Tp& val, + Compare comp) { + ForwardIter i = boost::detail::lower_bound(first, last, val, comp); + return i != last && !comp(val, *i); +} + +}} // namespace boost::detail + +#endif // BINARY_SEARCH_DWA_122600_H_ diff --git a/boost_1_33_1/boost/detail/call_traits.hpp b/boost_1_33_1/boost/detail/call_traits.hpp new file mode 100644 index 0000000..0d9e99f --- /dev/null +++ b/boost_1_33_1/boost/detail/call_traits.hpp @@ -0,0 +1,155 @@ +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt). +// +// See http://www.boost.org/libs/utility for most recent version including documentation. + +// call_traits: defines typedefs for function usage +// (see libs/utility/call_traits.htm) + +/* Release notes: + 23rd July 2000: + Fixed array specialization. (JM) + Added Borland specific fixes for reference types + (issue raised by Steve Cleary). +*/ + +#ifndef BOOST_DETAIL_CALL_TRAITS_HPP +#define BOOST_DETAIL_CALL_TRAITS_HPP + +#ifndef BOOST_CONFIG_HPP +#include +#endif +#include + +#include +#include +#include + +namespace boost{ + +namespace detail{ + +template +struct ct_imp2 +{ + typedef const T& param_type; +}; + +template +struct ct_imp2 +{ + typedef const T param_type; +}; + +template +struct ct_imp +{ + typedef const T& param_type; +}; + +template +struct ct_imp +{ + typedef typename ct_imp2::param_type param_type; +}; + +template +struct ct_imp +{ + typedef T const param_type; +}; + +} + +template +struct call_traits +{ +public: + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; + // + // C++ Builder workaround: we should be able to define a compile time + // constant and pass that as a single template parameter to ct_imp, + // however compiler bugs prevent this - instead pass three bool's to + // ct_imp and add an extra partial specialisation + // of ct_imp to handle the logic. (JM) + typedef typename detail::ct_imp< + T, + ::boost::is_pointer::value, + ::boost::is_arithmetic::value + >::param_type param_type; +}; + +template +struct call_traits +{ + typedef T& value_type; + typedef T& reference; + typedef const T& const_reference; + typedef T& param_type; // hh removed const +}; + +#if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x570 ) ) +// these are illegal specialisations; cv-qualifies applied to +// references have no effect according to [8.3.2p1], +// C++ Builder requires them though as it treats cv-qualified +// references as distinct types... +template +struct call_traits +{ + typedef T& value_type; + typedef T& reference; + typedef const T& const_reference; + typedef T& param_type; // hh removed const +}; +template +struct call_traits +{ + typedef T& value_type; + typedef T& reference; + typedef const T& const_reference; + typedef T& param_type; // hh removed const +}; +template +struct call_traits +{ + typedef T& value_type; + typedef T& reference; + typedef const T& const_reference; + typedef T& param_type; // hh removed const +}; +#endif +#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) +template +struct call_traits +{ +private: + typedef T array_type[N]; +public: + // degrades array to pointer: + typedef const T* value_type; + typedef array_type& reference; + typedef const array_type& const_reference; + typedef const T* const param_type; +}; + +template +struct call_traits +{ +private: + typedef const T array_type[N]; +public: + // degrades array to pointer: + typedef const T* value_type; + typedef array_type& reference; + typedef const array_type& const_reference; + typedef const T* const param_type; +}; +#endif + +} + +#endif // BOOST_DETAIL_CALL_TRAITS_HPP diff --git a/boost_1_33_1/boost/detail/catch_exceptions.hpp b/boost_1_33_1/boost/detail/catch_exceptions.hpp new file mode 100644 index 0000000..b1a3c76 --- /dev/null +++ b/boost_1_33_1/boost/detail/catch_exceptions.hpp @@ -0,0 +1,146 @@ +// boost/catch_exceptions.hpp -----------------------------------------------// + +// Copyright Beman Dawes 1995-2001. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/test for documentation. + +// Revision History +// 13 Jun 01 report_exception() made inline. (John Maddock, Jesse Jones) +// 26 Feb 01 Numerous changes suggested during formal review. (Beman) +// 25 Jan 01 catch_exceptions.hpp code factored out of cpp_main.cpp. +// 22 Jan 01 Remove test_tools dependencies to reduce coupling. +// 5 Nov 00 Initial boost version (Beman Dawes) + +#ifndef BOOST_CATCH_EXCEPTIONS_HPP +#define BOOST_CATCH_EXCEPTIONS_HPP + +// header dependencies are deliberately restricted to the standard library +// to reduce coupling to other boost libraries. +#include // for string +#include // for bad_alloc +#include // for bad_cast, bad_typeid +#include // for exception, bad_exception +#include // for std exception hierarchy +#include // for exit codes +# if __GNUC__ != 2 || __GNUC_MINOR__ > 96 +# include // for ostream +# else +# include // workaround GNU missing ostream header +# endif + +# if defined(__BORLANDC__) && (__BORLANDC__ <= 0x0551) +# define BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT +# endif + +#if defined(MPW_CPLUS) && (MPW_CPLUS <= 0x890) +# define BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT + namespace std { class bad_typeid { }; } +# endif + +namespace boost +{ + + namespace detail + { + // A separate reporting function was requested during formal review. + inline void report_exception( std::ostream & os, + const char * name, const char * info ) + { os << "\n** uncaught exception: " << name << " " << info << std::endl; } + } + + // catch_exceptions ------------------------------------------------------// + + template< class Generator > // Generator is function object returning int + int catch_exceptions( Generator function_object, + std::ostream & out, std::ostream & err ) + { + int result = 0; // quiet compiler warnings + bool exception_thrown = true; // avoid setting result for each excptn type + +#ifndef BOOST_NO_EXCEPTIONS + try + { +#endif + result = function_object(); + exception_thrown = false; +#ifndef BOOST_NO_EXCEPTIONS + } + + // As a result of hard experience with strangely interleaved output + // under some compilers, there is a lot of use of endl in the code below + // where a simple '\n' might appear to do. + + // The rules for catch & arguments are a bit different from function + // arguments (ISO 15.3 paragraphs 18 & 19). Apparently const isn't + // required, but it doesn't hurt and some programmers ask for it. + + catch ( const char * ex ) + { detail::report_exception( out, "", ex ); } + catch ( const std::string & ex ) + { detail::report_exception( out, "", ex.c_str() ); } + + // std:: exceptions + catch ( const std::bad_alloc & ex ) + { detail::report_exception( out, "std::bad_alloc:", ex.what() ); } + +# ifndef BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT + catch ( const std::bad_cast & ex ) + { detail::report_exception( out, "std::bad_cast:", ex.what() ); } + catch ( const std::bad_typeid & ex ) + { detail::report_exception( out, "std::bad_typeid:", ex.what() ); } +# else + catch ( const std::bad_cast & ) + { detail::report_exception( out, "std::bad_cast", "" ); } + catch ( const std::bad_typeid & ) + { detail::report_exception( out, "std::bad_typeid", "" ); } +# endif + + catch ( const std::bad_exception & ex ) + { detail::report_exception( out, "std::bad_exception:", ex.what() ); } + catch ( const std::domain_error & ex ) + { detail::report_exception( out, "std::domain_error:", ex.what() ); } + catch ( const std::invalid_argument & ex ) + { detail::report_exception( out, "std::invalid_argument:", ex.what() ); } + catch ( const std::length_error & ex ) + { detail::report_exception( out, "std::length_error:", ex.what() ); } + catch ( const std::out_of_range & ex ) + { detail::report_exception( out, "std::out_of_range:", ex.what() ); } + catch ( const std::range_error & ex ) + { detail::report_exception( out, "std::range_error:", ex.what() ); } + catch ( const std::overflow_error & ex ) + { detail::report_exception( out, "std::overflow_error:", ex.what() ); } + catch ( const std::underflow_error & ex ) + { detail::report_exception( out, "std::underflow_error:", ex.what() ); } + catch ( const std::logic_error & ex ) + { detail::report_exception( out, "std::logic_error:", ex.what() ); } + catch ( const std::runtime_error & ex ) + { detail::report_exception( out, "std::runtime_error:", ex.what() ); } + catch ( const std::exception & ex ) + { detail::report_exception( out, "std::exception:", ex.what() ); } + + catch ( ... ) + { detail::report_exception( out, "unknown exception", "" ); } +#endif // BOOST_NO_EXCEPTIONS + + if ( exception_thrown ) result = boost::exit_exception_failure; + + if ( result != 0 && result != exit_success ) + { + out << std::endl << "**** returning with error code " + << result << std::endl; + err + << "********** errors detected; see stdout for details ***********" + << std::endl; + } +#if !defined(BOOST_NO_CPP_MAIN_SUCCESS_MESSAGE) + else { out << std::flush << "no errors detected" << std::endl; } +#endif + return result; + } // catch_exceptions + +} // boost + +#endif // BOOST_CATCH_EXCEPTIONS_HPP + diff --git a/boost_1_33_1/boost/detail/compressed_pair.hpp b/boost_1_33_1/boost/detail/compressed_pair.hpp new file mode 100644 index 0000000..c45d20c --- /dev/null +++ b/boost_1_33_1/boost/detail/compressed_pair.hpp @@ -0,0 +1,432 @@ +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt). +// +// See http://www.boost.org/libs/utility for most recent version including documentation. + +// compressed_pair: pair that "compresses" empty members +// (see libs/utility/compressed_pair.htm) +// +// JM changes 25 Jan 2004: +// For the case where T1 == T2 and both are empty, then first() and second() +// should return different objects. +// JM changes 25 Jan 2000: +// Removed default arguments from compressed_pair_switch to get +// C++ Builder 4 to accept them +// rewriten swap to get gcc and C++ builder to compile. +// added partial specialisations for case T1 == T2 to avoid duplicate constructor defs. + +#ifndef BOOST_DETAIL_COMPRESSED_PAIR_HPP +#define BOOST_DETAIL_COMPRESSED_PAIR_HPP + +#include + +#include +#include +#include +#include + +namespace boost +{ + +template +class compressed_pair; + + +// compressed_pair + +namespace details +{ + // JM altered 26 Jan 2000: + template + struct compressed_pair_switch; + + template + struct compressed_pair_switch + {static const int value = 0;}; + + template + struct compressed_pair_switch + {static const int value = 3;}; + + template + struct compressed_pair_switch + {static const int value = 1;}; + + template + struct compressed_pair_switch + {static const int value = 2;}; + + template + struct compressed_pair_switch + {static const int value = 4;}; + + template + struct compressed_pair_switch + {static const int value = 5;}; + + template class compressed_pair_imp; + +#ifdef __GNUC__ + // workaround for GCC (JM): + using std::swap; +#endif + // + // can't call unqualified swap from within classname::swap + // as Koenig lookup rules will find only the classname::swap + // member function not the global declaration, so use cp_swap + // as a forwarding function (JM): + template + inline void cp_swap(T& t1, T& t2) + { +#ifndef __GNUC__ + using std::swap; +#endif + swap(t1, t2); + } + + // 0 derive from neither + + template + class compressed_pair_imp + { + public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_imp() {} + + compressed_pair_imp(first_param_type x, second_param_type y) + : first_(x), second_(y) {} + + compressed_pair_imp(first_param_type x) + : first_(x) {} + + compressed_pair_imp(second_param_type y) + : second_(y) {} + + first_reference first() {return first_;} + first_const_reference first() const {return first_;} + + second_reference second() {return second_;} + second_const_reference second() const {return second_;} + + void swap(::boost::compressed_pair& y) + { + cp_swap(first_, y.first()); + cp_swap(second_, y.second()); + } + private: + first_type first_; + second_type second_; + }; + + // 1 derive from T1 + + template + class compressed_pair_imp + : private ::boost::remove_cv::type + { + public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_imp() {} + + compressed_pair_imp(first_param_type x, second_param_type y) + : first_type(x), second_(y) {} + + compressed_pair_imp(first_param_type x) + : first_type(x) {} + + compressed_pair_imp(second_param_type y) + : second_(y) {} + + first_reference first() {return *this;} + first_const_reference first() const {return *this;} + + second_reference second() {return second_;} + second_const_reference second() const {return second_;} + + void swap(::boost::compressed_pair& y) + { + // no need to swap empty base class: + cp_swap(second_, y.second()); + } + private: + second_type second_; + }; + + // 2 derive from T2 + + template + class compressed_pair_imp + : private ::boost::remove_cv::type + { + public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_imp() {} + + compressed_pair_imp(first_param_type x, second_param_type y) + : second_type(y), first_(x) {} + + compressed_pair_imp(first_param_type x) + : first_(x) {} + + compressed_pair_imp(second_param_type y) + : second_type(y) {} + + first_reference first() {return first_;} + first_const_reference first() const {return first_;} + + second_reference second() {return *this;} + second_const_reference second() const {return *this;} + + void swap(::boost::compressed_pair& y) + { + // no need to swap empty base class: + cp_swap(first_, y.first()); + } + + private: + first_type first_; + }; + + // 3 derive from T1 and T2 + + template + class compressed_pair_imp + : private ::boost::remove_cv::type, + private ::boost::remove_cv::type + { + public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_imp() {} + + compressed_pair_imp(first_param_type x, second_param_type y) + : first_type(x), second_type(y) {} + + compressed_pair_imp(first_param_type x) + : first_type(x) {} + + compressed_pair_imp(second_param_type y) + : second_type(y) {} + + first_reference first() {return *this;} + first_const_reference first() const {return *this;} + + second_reference second() {return *this;} + second_const_reference second() const {return *this;} + // + // no need to swap empty bases: + void swap(::boost::compressed_pair&) {} + }; + + // JM + // 4 T1 == T2, T1 and T2 both empty + // Note does not actually store an instance of T2 at all - + // but reuses T1 base class for both first() and second(). + template + class compressed_pair_imp + : private ::boost::remove_cv::type + { + public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_imp() {} + + compressed_pair_imp(first_param_type x, second_param_type y) + : first_type(x), m_second(y) {} + + compressed_pair_imp(first_param_type x) + : first_type(x), m_second(x) {} + + first_reference first() {return *this;} + first_const_reference first() const {return *this;} + + second_reference second() {return m_second;} + second_const_reference second() const {return m_second;} + + void swap(::boost::compressed_pair&) {} + private: + T2 m_second; + }; + + // 5 T1 == T2 and are not empty: //JM + + template + class compressed_pair_imp + { + public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_imp() {} + + compressed_pair_imp(first_param_type x, second_param_type y) + : first_(x), second_(y) {} + + compressed_pair_imp(first_param_type x) + : first_(x), second_(x) {} + + first_reference first() {return first_;} + first_const_reference first() const {return first_;} + + second_reference second() {return second_;} + second_const_reference second() const {return second_;} + + void swap(::boost::compressed_pair& y) + { + cp_swap(first_, y.first()); + cp_swap(second_, y.second()); + } + private: + first_type first_; + second_type second_; + }; + +} // details + +template +class compressed_pair + : private ::boost::details::compressed_pair_imp::type, typename remove_cv::type>::value, + ::boost::is_empty::value, + ::boost::is_empty::value>::value> +{ +private: + typedef details::compressed_pair_imp::type, typename remove_cv::type>::value, + ::boost::is_empty::value, + ::boost::is_empty::value>::value> base; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair() : base() {} + compressed_pair(first_param_type x, second_param_type y) : base(x, y) {} + explicit compressed_pair(first_param_type x) : base(x) {} + explicit compressed_pair(second_param_type y) : base(y) {} + + first_reference first() {return base::first();} + first_const_reference first() const {return base::first();} + + second_reference second() {return base::second();} + second_const_reference second() const {return base::second();} + + void swap(compressed_pair& y) { base::swap(y); } +}; + +// JM +// Partial specialisation for case where T1 == T2: +// +template +class compressed_pair + : private details::compressed_pair_imp::type, typename remove_cv::type>::value, + ::boost::is_empty::value, + ::boost::is_empty::value>::value> +{ +private: + typedef details::compressed_pair_imp::type, typename remove_cv::type>::value, + ::boost::is_empty::value, + ::boost::is_empty::value>::value> base; +public: + typedef T first_type; + typedef T second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair() : base() {} + compressed_pair(first_param_type x, second_param_type y) : base(x, y) {} +#if !(defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530)) + explicit +#endif + compressed_pair(first_param_type x) : base(x) {} + + first_reference first() {return base::first();} + first_const_reference first() const {return base::first();} + + second_reference second() {return base::second();} + second_const_reference second() const {return base::second();} + + void swap(::boost::compressed_pair& y) { base::swap(y); } +}; + +template +inline +void +swap(compressed_pair& x, compressed_pair& y) +{ + x.swap(y); +} + +} // boost + +#endif // BOOST_DETAIL_COMPRESSED_PAIR_HPP + diff --git a/boost_1_33_1/boost/detail/dynamic_bitset.hpp b/boost_1_33_1/boost/detail/dynamic_bitset.hpp new file mode 100644 index 0000000..f83f781 --- /dev/null +++ b/boost_1_33_1/boost/detail/dynamic_bitset.hpp @@ -0,0 +1,168 @@ +// -------------------------------------------------- +// +// (C) Copyright Chuck Allison and Jeremy Siek 2001 - 2002. +// (C) Copyright Gennaro Prota 2003 - 2004. +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// ----------------------------------------------------------- + +// See http://www.boost.org/libs/dynamic_bitset for documentation. + + +#ifndef BOOST_DETAIL_DYNAMIC_BITSET_HPP +#define BOOST_DETAIL_DYNAMIC_BITSET_HPP + +#include // for std::size_t +#include "boost/config.hpp" +#include "boost/detail/workaround.hpp" +//#include "boost/static_assert.hpp" // gps + + +namespace boost { + + namespace detail { + + // Gives (read-)access to the object representation + // of an object of type T (3.9p4). CANNOT be used + // on a base sub-object + // + template + inline const unsigned char * object_representation (T* p) + { + return static_cast(static_cast(p)); + } + + + // ------- count function implementation -------------- + + namespace dynamic_bitset_count_impl { + + typedef unsigned char byte_type; + + enum mode { access_by_bytes, access_by_blocks }; + + template struct mode_to_type {}; + + // the table: wrapped in a class template, so + // that it is only instantiated if/when needed + // + template + struct count_table { static const byte_type table[]; }; + + template <> + struct count_table { /* no table */ }; + + + const unsigned int table_width = 8; + template + const byte_type count_table::table[] = + { + // Automatically generated by GPTableGen.exe v.1.0 + // + 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8 + }; + + + // overload for access by bytes + // + + template + inline std::size_t do_count(Iterator first, std::size_t length, + int /*dummy param*/, + mode_to_type* ) + { + std::size_t num = 0; + if (length) + { + const byte_type * p = object_representation(&*first); + length *= sizeof(*first); + + do { + num += count_table<>::table[*p]; + ++p; + --length; + + } while (length); + } + + return num; + } + + + // overload for access by blocks + // + template + inline std::size_t do_count(Iterator first, std::size_t length, ValueType, + mode_to_type*) + { + std::size_t num = 0; + while (length){ + + ValueType value = *first; + while (value) { + num += count_table<>::table[value & ((1u<>= table_width; + } + + ++first; + --length; + } + + return num; + } + + + } // dynamic_bitset_count_impl + // ------------------------------------------------------- + + + // Some library implementations simply return a dummy + // value such as + // + // size_type(-1) / sizeof(T) + // + // from vector<>::max_size. This tries to get out more + // meaningful info. + // + template + typename T::size_type vector_max_size_workaround(const T & v) { + + typedef typename T::allocator_type allocator_type; + + const typename allocator_type::size_type alloc_max = + v.get_allocator().max_size(); + const typename T::size_type container_max = v.max_size(); + + return alloc_max < container_max? + alloc_max : + container_max; + } + + // for static_asserts + template + struct dynamic_bitset_allowed_block_type { + enum { value = T(-1) > 0 }; // ensure T has no sign + }; + + template <> + struct dynamic_bitset_allowed_block_type { + enum { value = false }; + }; + + + } // namespace detail + +} // namespace boost + +#endif // include guard + diff --git a/boost_1_33_1/boost/detail/endian.hpp b/boost_1_33_1/boost/detail/endian.hpp new file mode 100644 index 0000000..5f12fbe --- /dev/null +++ b/boost_1_33_1/boost/detail/endian.hpp @@ -0,0 +1,58 @@ +/* + * Copyright (c) 1997 + * Silicon Graphics Computer Systems, Inc. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Silicon Graphics makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + */ + +/* + * Copyright notice reproduced from , from + * which this code was originally taken. + * + * Modified by Caleb Epstein to use with GNU libc and to + * defined the BOOST_ENDIAN macro. + */ + +#ifndef BOOST_DETAIL_ENDIAN_HPP +#define BOOST_DETAIL_ENDIAN_HPP + +// GNU libc offers the helpful header which defines +// __BYTE_ORDER + +#if defined (__GLIBC__) +# include +# if (__BYTE_ORDER == __LITTLE_ENDIAN) +# define BOOST_LITTLE_ENDIAN +# elif (__BYTE_ORDER == __BIG_ENDIAN) +# define BOOST_BIG_ENDIAN +# elif (__BYTE_ORDER == __PDP_ENDIAN) +# define BOOST_PDP_ENDIAN +# else +# error Unknown machine endianness detected. +# endif +# define BOOST_BYTE_ORDER __BYTE_ORDER +#elif defined(__sparc) || defined(__sparc__) \ + || defined(_POWER) || defined(__powerpc__) \ + || defined(__ppc__) || defined(__hppa) \ + || defined(_MIPSEB) || defined(_POWER) \ + || defined(__s390__) +# define BOOST_BIG_ENDIAN +# define BOOST_BYTE_ORDER 4321 +#elif defined(__i386__) || defined(__alpha__) \ + || defined(__ia64) || defined(__ia64__) \ + || defined(_M_IX86) || defined(_M_IA64) \ + || defined(_M_ALPHA) +# define BOOST_LITTLE_ENDIAN +# define BOOST_BYTE_ORDER 1234 +#else +# error The file boost/detail/endian.hpp needs to be set up for your CPU type. +#endif + + +#endif diff --git a/boost_1_33_1/boost/detail/indirect_traits.hpp b/boost_1_33_1/boost/detail/indirect_traits.hpp new file mode 100755 index 0000000..6ee8a10 --- /dev/null +++ b/boost_1_33_1/boost/detail/indirect_traits.hpp @@ -0,0 +1,487 @@ +// Copyright David Abrahams 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef INDIRECT_TRAITS_DWA2002131_HPP +# define INDIRECT_TRAITS_DWA2002131_HPP +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# include +# include + +# include +# include +# include +# include +# include +# include + +# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# include +# endif + +namespace boost { namespace detail { + +namespace indirect_traits { + +# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +template +struct is_reference_to_const : mpl::false_ +{ +}; + +template +struct is_reference_to_const : mpl::true_ +{ +}; + +# if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround +template +struct is_reference_to_const : mpl::true_ +{ +}; +# endif + +template +struct is_reference_to_function : mpl::false_ +{ +}; + +template +struct is_reference_to_function : is_function +{ +}; + +template +struct is_pointer_to_function : mpl::false_ +{ +}; + +// There's no such thing as a pointer-to-cv-function, so we don't need +// specializations for those +template +struct is_pointer_to_function : is_function +{ +}; + +template +struct is_reference_to_member_function_pointer_impl : mpl::false_ +{ +}; + +template +struct is_reference_to_member_function_pointer_impl + : is_member_function_pointer::type> +{ +}; + + +template +struct is_reference_to_member_function_pointer + : is_reference_to_member_function_pointer_impl +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T)) +}; + +template +struct is_reference_to_function_pointer_aux + : mpl::and_< + is_reference + , is_pointer_to_function< + typename remove_cv< + typename remove_reference::type + >::type + > + > +{ + // There's no such thing as a pointer-to-cv-function, so we don't need specializations for those +}; + +template +struct is_reference_to_function_pointer + : mpl::if_< + is_reference_to_function + , mpl::false_ + , is_reference_to_function_pointer_aux + >::type +{ +}; + +template +struct is_reference_to_non_const + : mpl::and_< + is_reference + , mpl::not_< + is_reference_to_const + > + > +{ +}; + +template +struct is_reference_to_volatile : mpl::false_ +{ +}; + +template +struct is_reference_to_volatile : mpl::true_ +{ +}; + +# if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround +template +struct is_reference_to_volatile : mpl::true_ +{ +}; +# endif + + +template +struct is_reference_to_pointer : mpl::false_ +{ +}; + +template +struct is_reference_to_pointer : mpl::true_ +{ +}; + +template +struct is_reference_to_pointer : mpl::true_ +{ +}; + +template +struct is_reference_to_pointer : mpl::true_ +{ +}; + +template +struct is_reference_to_pointer : mpl::true_ +{ +}; + +template +struct is_reference_to_class + : mpl::and_< + is_reference + , is_class< + typename remove_cv< + typename remove_reference::type + >::type + > + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T)) +}; + +template +struct is_pointer_to_class + : mpl::and_< + is_pointer + , is_class< + typename remove_cv< + typename remove_pointer::type + >::type + > + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_class,(T)) +}; + +# else + +using namespace boost::detail::is_function_ref_tester_; + +typedef char (&inner_yes_type)[3]; +typedef char (&inner_no_type)[2]; +typedef char (&outer_no_type)[1]; + +template +struct is_const_help +{ + typedef typename mpl::if_< + is_const + , inner_yes_type + , inner_no_type + >::type type; +}; + +template +struct is_volatile_help +{ + typedef typename mpl::if_< + is_volatile + , inner_yes_type + , inner_no_type + >::type type; +}; + +template +struct is_pointer_help +{ + typedef typename mpl::if_< + is_pointer + , inner_yes_type + , inner_no_type + >::type type; +}; + +template +struct is_class_help +{ + typedef typename mpl::if_< + is_class + , inner_yes_type + , inner_no_type + >::type type; +}; + +template +struct is_reference_to_function_aux +{ + static T t; + BOOST_STATIC_CONSTANT( + bool, value = sizeof(detail::is_function_ref_tester(t,0)) == sizeof(::boost::type_traits::yes_type)); + typedef mpl::bool_ type; + }; + +template +struct is_reference_to_function + : mpl::if_, is_reference_to_function_aux, mpl::bool_ >::type +{ +}; + +template +struct is_pointer_to_function_aux +{ + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = sizeof(::boost::type_traits::is_function_ptr_tester(t)) == sizeof(::boost::type_traits::yes_type)); + typedef mpl::bool_ type; +}; + +template +struct is_pointer_to_function + : mpl::if_, is_pointer_to_function_aux, mpl::bool_ >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_function,(T)) +}; + +struct false_helper1 +{ + template + struct apply : mpl::false_ + { + }; +}; + +template +typename is_const_help::type reference_to_const_helper(V&); +outer_no_type +reference_to_const_helper(...); + +struct true_helper1 +{ + template + struct apply + { + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = sizeof(reference_to_const_helper(t)) == sizeof(inner_yes_type)); + typedef mpl::bool_ type; + }; +}; + +template +struct is_reference_to_const_helper1 : true_helper1 +{ +}; + +template <> +struct is_reference_to_const_helper1 : false_helper1 +{ +}; + + +template +struct is_reference_to_const + : is_reference_to_const_helper1::value>::template apply +{ +}; + + +template +struct is_reference_to_non_const_helper1 +{ + template + struct apply + { + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = sizeof(reference_to_const_helper(t)) == sizeof(inner_no_type)); + + typedef mpl::bool_ type; + }; +}; + +template <> +struct is_reference_to_non_const_helper1 : false_helper1 +{ +}; + + +template +struct is_reference_to_non_const + : is_reference_to_non_const_helper1::value>::template apply +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_non_const,(T)) +}; + + +template +typename is_volatile_help::type reference_to_volatile_helper(V&); +outer_no_type +reference_to_volatile_helper(...); + +template +struct is_reference_to_volatile_helper1 +{ + template + struct apply + { + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = sizeof(reference_to_volatile_helper(t)) == sizeof(inner_yes_type)); + typedef mpl::bool_ type; + }; +}; + +template <> +struct is_reference_to_volatile_helper1 : false_helper1 +{ +}; + + +template +struct is_reference_to_volatile + : is_reference_to_volatile_helper1::value>::template apply +{ +}; + +template +typename is_pointer_help::type reference_to_pointer_helper(V&); +outer_no_type reference_to_pointer_helper(...); + +template +struct is_reference_to_pointer +{ + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = (is_reference::value + && sizeof((reference_to_pointer_helper)(t)) == sizeof(inner_yes_type)) + ); + + typedef mpl::bool_ type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_pointer,(T)) +}; + +template +struct is_reference_to_function_pointer + : mpl::if_< + is_reference + , is_pointer_to_function_aux + , mpl::bool_ + >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_function_pointer,(T)) +}; + + +template +struct is_member_function_pointer_help + : mpl::if_, inner_yes_type, inner_no_type> +{}; + +template +typename is_member_function_pointer_help::type member_function_pointer_helper(V&); +outer_no_type member_function_pointer_helper(...); + +template +struct is_pointer_to_member_function_aux +{ + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = sizeof((member_function_pointer_helper)(t)) == sizeof(inner_yes_type)); + typedef mpl::bool_ type; +}; + +template +struct is_reference_to_member_function_pointer + : mpl::if_< + is_reference + , is_pointer_to_member_function_aux + , mpl::bool_ + >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T)) +}; + +template +typename is_class_help::type reference_to_class_helper(V const volatile&); +outer_no_type reference_to_class_helper(...); + +template +struct is_reference_to_class +{ + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = (is_reference::value + & (sizeof(reference_to_class_helper(t)) == sizeof(inner_yes_type))) + ); + typedef mpl::bool_ type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T)) +}; + +template +typename is_class_help::type pointer_to_class_helper(V const volatile*); +outer_no_type pointer_to_class_helper(...); + +template +struct is_pointer_to_class +{ + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = (is_pointer::value + && sizeof(pointer_to_class_helper(t)) == sizeof(inner_yes_type)) + ); + typedef mpl::bool_ type; +}; +# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +} + +using namespace indirect_traits; + +}} // namespace boost::python::detail + +#endif // INDIRECT_TRAITS_DWA2002131_HPP diff --git a/boost_1_33_1/boost/detail/interlocked.hpp b/boost_1_33_1/boost/detail/interlocked.hpp new file mode 100644 index 0000000..025f3b5 --- /dev/null +++ b/boost_1_33_1/boost/detail/interlocked.hpp @@ -0,0 +1,70 @@ +#ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED +#define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/interlocked.hpp +// +// Copyright 2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#include + +#if defined( BOOST_USE_WINDOWS_H ) + +# include + +# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement +# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement +# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange + +#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) + +extern "C" long __cdecl _InterlockedIncrement( long volatile * ); +extern "C" long __cdecl _InterlockedDecrement( long volatile * ); +extern "C" long __cdecl _InterlockedCompareExchange( long volatile *, long, long ); + +# pragma intrinsic( _InterlockedIncrement ) +# pragma intrinsic( _InterlockedDecrement ) +# pragma intrinsic( _InterlockedCompareExchange ) + +# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement +# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement +# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange + +#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) + +namespace boost +{ + +namespace detail +{ + +extern "C" __declspec(dllimport) long __stdcall InterlockedIncrement( long volatile * ); +extern "C" __declspec(dllimport) long __stdcall InterlockedDecrement( long volatile * ); +extern "C" __declspec(dllimport) long __stdcall InterlockedCompareExchange( long volatile *, long, long ); + +} // namespace detail + +} // namespace boost + +# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement +# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement +# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange + +#else + +# error "Interlocked intrinsics not available" + +#endif + +#endif // #ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/is_function_ref_tester.hpp b/boost_1_33_1/boost/detail/is_function_ref_tester.hpp new file mode 100755 index 0000000..5f367ea --- /dev/null +++ b/boost_1_33_1/boost/detail/is_function_ref_tester.hpp @@ -0,0 +1,135 @@ + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, +// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED +#define BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED + +#include "boost/type_traits/detail/yes_no_type.hpp" +#include "boost/type_traits/config.hpp" + +#if defined(BOOST_TT_PREPROCESSING_MODE) +# include "boost/preprocessor/iterate.hpp" +# include "boost/preprocessor/enum_params.hpp" +# include "boost/preprocessor/comma_if.hpp" +#endif + +namespace boost { +namespace detail { +namespace is_function_ref_tester_ { + +template +boost::type_traits::no_type BOOST_TT_DECL is_function_ref_tester(T& ...); + +#if !defined(BOOST_TT_PREPROCESSING_MODE) +// preprocessor-generated part, don't edit by hand! + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24), int); + +#else + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3, (0, 25, "boost/type_traits/detail/is_function_ref_tester.hpp")) +#include BOOST_PP_ITERATE() + +#endif // BOOST_TT_PREPROCESSING_MODE + +} // namespace detail +} // namespace python +} // namespace boost + +#endif // BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED + +///// iteration + +#else +#define i BOOST_PP_FRAME_ITERATION(1) + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(BOOST_PP_ENUM_PARAMS(i,T)), int); + +#undef i +#endif // BOOST_PP_IS_ITERATING diff --git a/boost_1_33_1/boost/detail/is_incrementable.hpp b/boost_1_33_1/boost/detail/is_incrementable.hpp new file mode 100755 index 0000000..0ae4eca --- /dev/null +++ b/boost_1_33_1/boost/detail/is_incrementable.hpp @@ -0,0 +1,121 @@ +// Copyright David Abrahams 2004. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef IS_INCREMENTABLE_DWA200415_HPP +# define IS_INCREMENTABLE_DWA200415_HPP + +# include +# include +# include +# include +# include +# include + +namespace boost { namespace detail { + +// is_incrementable metafunction +// +// Requires: Given x of type T&, if the expression ++x is well-formed +// it must have complete type; otherwise, it must neither be ambiguous +// nor violate access. + +// This namespace ensures that ADL doesn't mess things up. +namespace is_incrementable_ +{ + // a type returned from operator++ when no increment is found in the + // type's own namespace + struct tag {}; + + // any soaks up implicit conversions and makes the following + // operator++ less-preferred than any other such operator that + // might be found via ADL. + struct any { template any(T const&); }; + + // This is a last-resort operator++ for when none other is found +# if BOOST_WORKAROUND(__GNUC__, == 4) && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 2 + +} + +namespace is_incrementable_2 +{ + is_incrementable_::tag operator++(is_incrementable_::any const&); + is_incrementable_::tag operator++(is_incrementable_::any const&,int); +} +using namespace is_incrementable_2; + +namespace is_incrementable_ +{ + +# else + + tag operator++(any const&); + tag operator++(any const&,int); + +# endif + +# if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ + || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +# define BOOST_comma(a,b) (a) +# else + // In case an operator++ is found that returns void, we'll use ++x,0 + tag operator,(tag,int); +# define BOOST_comma(a,b) (a,b) +# endif + + // two check overloads help us identify which operator++ was picked + char (& check(tag) )[2]; + + template + char check(T const&); + + + template + struct impl + { + static typename boost::remove_cv::type& x; + + BOOST_STATIC_CONSTANT( + bool + , value = sizeof(is_incrementable_::check(BOOST_comma(++x,0))) == 1 + ); + }; + + template + struct postfix_impl + { + static typename boost::remove_cv::type& x; + + BOOST_STATIC_CONSTANT( + bool + , value = sizeof(is_incrementable_::check(BOOST_comma(x++,0))) == 1 + ); + }; +} + +# undef BOOST_comma + +template +struct is_incrementable +BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::impl::value) +{ + BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost::detail::is_incrementable_::impl::value) + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_incrementable,(T)) +}; + +template +struct is_postfix_incrementable +BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::impl::value) +{ + BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost::detail::is_incrementable_::postfix_impl::value) + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_postfix_incrementable,(T)) +}; + +} // namespace detail + +BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::boost::detail::is_incrementable) +BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::boost::detail::is_postfix_incrementable) + +} // namespace boost + + +#endif // IS_INCREMENTABLE_DWA200415_HPP diff --git a/boost_1_33_1/boost/detail/is_xxx.hpp b/boost_1_33_1/boost/detail/is_xxx.hpp new file mode 100755 index 0000000..cb64fb3 --- /dev/null +++ b/boost_1_33_1/boost/detail/is_xxx.hpp @@ -0,0 +1,61 @@ +// Copyright David Abrahams 2005. Distributed under the Boost +// Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_DETAIL_IS_XXX_DWA20051011_HPP +# define BOOST_DETAIL_IS_XXX_DWA20051011_HPP + +# include +# include +# include + +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +# include +# include + +# define BOOST_DETAIL_IS_XXX_DEF(name, qualified_name, nargs) \ +template \ +struct is_##name \ +{ \ + typedef char yes; \ + typedef char (&no)[2]; \ + \ + static typename add_reference::type dummy; \ + \ + struct helpers \ + { \ + template < BOOST_PP_ENUM_PARAMS_Z(1, nargs, class U) > \ + static yes test( \ + qualified_name< BOOST_PP_ENUM_PARAMS_Z(1, nargs, U) >&, int \ + ); \ + \ + template \ + static no test(U&, ...); \ + }; \ + \ + BOOST_STATIC_CONSTANT( \ + bool, value \ + = !is_reference::value \ + & (sizeof(helpers::test(dummy, 0)) == sizeof(yes))); \ + \ + typedef mpl::bool_ type; \ +}; + +# else + +# define BOOST_DETAIL_IS_XXX_DEF(name, qualified_name, nargs) \ +template \ +struct is_##name : mpl::false_ \ +{ \ +}; \ + \ +template < BOOST_PP_ENUM_PARAMS_Z(1, nargs, class T) > \ +struct is_##name< \ + qualified_name< BOOST_PP_ENUM_PARAMS_Z(1, nargs, T) > \ +> \ + : mpl::true_ \ +{ \ +}; + +# endif + +#endif // BOOST_DETAIL_IS_XXX_DWA20051011_HPP diff --git a/boost_1_33_1/boost/detail/iterator.hpp b/boost_1_33_1/boost/detail/iterator.hpp new file mode 100644 index 0000000..5bb9c62 --- /dev/null +++ b/boost_1_33_1/boost/detail/iterator.hpp @@ -0,0 +1,494 @@ +// (C) Copyright David Abrahams 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// Boost versions of +// +// std::iterator_traits<>::iterator_category +// std::iterator_traits<>::difference_type +// std::distance() +// +// ...for all compilers and iterators +// +// Additionally, if X is a pointer +// std::iterator_traits::pointer + +// Otherwise, if partial specialization is supported or X is not a pointer +// std::iterator_traits::value_type +// std::iterator_traits::pointer +// std::iterator_traits::reference +// +// See http://www.boost.org for most recent version including documentation. + +// Revision History +// 04 Mar 2001 - More attempted fixes for Intel C++ (David Abrahams) +// 03 Mar 2001 - Put all implementation into namespace +// boost::detail::iterator_traits_. Some progress made on fixes +// for Intel compiler. (David Abrahams) +// 02 Mar 2001 - Changed BOOST_MSVC to BOOST_MSVC_STD_ITERATOR in a few +// places. (Jeremy Siek) +// 19 Feb 2001 - Improved workarounds for stock MSVC6; use yes_type and +// no_type from type_traits.hpp; stopped trying to remove_cv +// before detecting is_pointer, in honor of the new type_traits +// semantics. (David Abrahams) +// 13 Feb 2001 - Make it work with nearly all standard-conforming iterators +// under raw VC6. The one category remaining which will fail is +// that of iterators derived from std::iterator but not +// boost::iterator and which redefine difference_type. +// 11 Feb 2001 - Clean away code which can never be used (David Abrahams) +// 09 Feb 2001 - Always have a definition for each traits member, even if it +// can't be properly deduced. These will be incomplete types in +// some cases (undefined), but it helps suppress MSVC errors +// elsewhere (David Abrahams) +// 07 Feb 2001 - Support for more of the traits members where possible, making +// this useful as a replacement for std::iterator_traits when +// used as a default template parameter. +// 06 Feb 2001 - Removed useless #includes of standard library headers +// (David Abrahams) + +#ifndef ITERATOR_DWA122600_HPP_ +# define ITERATOR_DWA122600_HPP_ + +# include +# include + +// STLPort 4.0 and betas have a bug when debugging is enabled and there is no +// partial specialization: instead of an iterator_category typedef, the standard +// container iterators have _Iterator_category. +// +// Also, whether debugging is enabled or not, there is a broken specialization +// of std::iterator which has no +// typedefs but iterator_category. +# if defined(__SGI_STL_PORT) + +# if (__SGI_STL_PORT <= 0x410) && !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) && defined(__STL_DEBUG) +# define BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF +# endif + +# define BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION + +# endif // STLPort <= 4.1b4 && no partial specialization + +# if !defined(BOOST_NO_STD_ITERATOR_TRAITS) \ + && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_MSVC_STD_ITERATOR) + +namespace boost { namespace detail { + +// Define a new template so it can be specialized +template +struct iterator_traits + : std::iterator_traits +{}; +using std::distance; + +}} // namespace boost::detail + +# else + +# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_MSVC_STD_ITERATOR) + +// This is the case where everything conforms except BOOST_NO_STD_ITERATOR_TRAITS + +namespace boost { namespace detail { + +// Rogue Wave Standard Library fools itself into thinking partial +// specialization is missing on some platforms (e.g. Sun), so fails to +// supply iterator_traits! +template +struct iterator_traits +{ + typedef typename Iterator::value_type value_type; + typedef typename Iterator::reference reference; + typedef typename Iterator::pointer pointer; + typedef typename Iterator::difference_type difference_type; + typedef typename Iterator::iterator_category iterator_category; +}; + +template +struct iterator_traits +{ + typedef T value_type; + typedef T& reference; + typedef T* pointer; + typedef std::ptrdiff_t difference_type; + typedef std::random_access_iterator_tag iterator_category; +}; + +template +struct iterator_traits +{ + typedef T value_type; + typedef T const& reference; + typedef T const* pointer; + typedef std::ptrdiff_t difference_type; + typedef std::random_access_iterator_tag iterator_category; +}; + +}} // namespace boost::detail + +# else + +# include +# include +# include + +# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# include +# include +# endif +# ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION +# include +# endif + +# include +# include +# include + +// should be the last #include +# include "boost/type_traits/detail/bool_trait_def.hpp" + +namespace boost { namespace detail { + +BOOST_MPL_HAS_XXX_TRAIT_DEF(value_type) +BOOST_MPL_HAS_XXX_TRAIT_DEF(reference) +BOOST_MPL_HAS_XXX_TRAIT_DEF(pointer) +BOOST_MPL_HAS_XXX_TRAIT_DEF(difference_type) +BOOST_MPL_HAS_XXX_TRAIT_DEF(iterator_category) + +// is_mutable_iterator -- +// +// A metafunction returning true iff T is a mutable iterator type +// with a nested value_type. Will only work portably with iterators +// whose operator* returns a reference, but that seems to be OK for +// the iterators supplied by Dinkumware. Some input iterators may +// compile-time if they arrive here, and if the compiler is strict +// about not taking the address of an rvalue. + +// This one detects ordinary mutable iterators - the result of +// operator* is convertible to the value_type. +template +type_traits::yes_type is_mutable_iterator_helper(T const*, BOOST_DEDUCED_TYPENAME T::value_type*); + +// Since you can't take the address of an rvalue, the guts of +// is_mutable_iterator_impl will fail if we use &*t directly. This +// makes sure we can still work with non-lvalue iterators. +template T* mutable_iterator_lvalue_helper(T& x); +int mutable_iterator_lvalue_helper(...); + + +// This one detects output iterators such as ostream_iterator which +// return references to themselves. +template +type_traits::yes_type is_mutable_iterator_helper(T const*, T const*); + +type_traits::no_type is_mutable_iterator_helper(...); + +template +struct is_mutable_iterator_impl +{ + static T t; + + BOOST_STATIC_CONSTANT( + bool, value = sizeof( + detail::is_mutable_iterator_helper( + (T*)0 + , mutable_iterator_lvalue_helper(*t) // like &*t + )) + == sizeof(type_traits::yes_type) + ); +}; + +BOOST_TT_AUX_BOOL_TRAIT_DEF1( + is_mutable_iterator,T,::boost::detail::is_mutable_iterator_impl::value) + + +// is_full_iterator_traits -- +// +// A metafunction returning true iff T has all the requisite nested +// types to satisfy the requirements for a fully-conforming +// iterator_traits implementation. +template +struct is_full_iterator_traits_impl +{ + enum { value = + has_value_type::value + & has_reference::value + & has_pointer::value + & has_difference_type::value + & has_iterator_category::value + }; +}; + +BOOST_TT_AUX_BOOL_TRAIT_DEF1( + is_full_iterator_traits,T,::boost::detail::is_full_iterator_traits_impl::value) + + +# ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF +BOOST_MPL_HAS_XXX_TRAIT_DEF(_Iterator_category) + +// is_stlport_40_debug_iterator -- +// +// A metafunction returning true iff T has all the requisite nested +// types to satisfy the requirements of an STLPort 4.0 debug iterator +// iterator_traits implementation. +template +struct is_stlport_40_debug_iterator_impl +{ + enum { value = + has_value_type::value + & has_reference::value + & has_pointer::value + & has_difference_type::value + & has__Iterator_category::value + }; +}; + +BOOST_TT_AUX_BOOL_TRAIT_DEF1( + is_stlport_40_debug_iterator,T,::boost::detail::is_stlport_40_debug_iterator_impl::value) + +template +struct stlport_40_debug_iterator_traits +{ + typedef typename T::value_type value_type; + typedef typename T::reference reference; + typedef typename T::pointer pointer; + typedef typename T::difference_type difference_type; + typedef typename T::_Iterator_category iterator_category; +}; +# endif // BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF + +template struct pointer_iterator_traits; + +# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +template +struct pointer_iterator_traits +{ + typedef typename remove_const::type value_type; + typedef T* pointer; + typedef T& reference; + typedef std::random_access_iterator_tag iterator_category; + typedef std::ptrdiff_t difference_type; +}; +# else + +// In case of no template partial specialization, and if T is a +// pointer, iterator_traits::value_type can still be computed. For +// some basic types, remove_pointer is manually defined in +// type_traits/broken_compiler_spec.hpp. For others, do it yourself. + +template class please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee; + +template +struct pointer_value_type + : mpl::if_< + is_same::type> + , please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee

+ , typename remove_const< + typename remove_pointer

::type + >::type + > +{ +}; + + +template +struct pointer_reference + : mpl::if_< + is_same::type> + , please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee

+ , typename remove_pointer

::type& + > +{ +}; + +template +struct pointer_iterator_traits +{ + typedef T pointer; + typedef std::random_access_iterator_tag iterator_category; + typedef std::ptrdiff_t difference_type; + + typedef typename pointer_value_type::type value_type; + typedef typename pointer_reference::type reference; +}; + +# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +// We'll sort iterator types into one of these classifications, from which we +// can determine the difference_type, pointer, reference, and value_type +template +struct standard_iterator_traits +{ + typedef typename Iterator::difference_type difference_type; + typedef typename Iterator::value_type value_type; + typedef typename Iterator::pointer pointer; + typedef typename Iterator::reference reference; + typedef typename Iterator::iterator_category iterator_category; +}; + +template +struct msvc_stdlib_mutable_traits + : std::iterator_traits +{ + typedef typename std::iterator_traits::distance_type difference_type; + typedef typename std::iterator_traits::value_type* pointer; + typedef typename std::iterator_traits::value_type& reference; +}; + +template +struct msvc_stdlib_const_traits + : std::iterator_traits +{ + typedef typename std::iterator_traits::distance_type difference_type; + typedef const typename std::iterator_traits::value_type* pointer; + typedef const typename std::iterator_traits::value_type& reference; +}; + +# ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION +template +struct is_bad_output_iterator + : is_base_and_derived< + std::iterator + , Iterator> +{ +}; + +struct bad_output_iterator_traits +{ + typedef void value_type; + typedef void difference_type; + typedef std::output_iterator_tag iterator_category; + typedef void pointer; + typedef void reference; +}; +# endif + +// If we're looking at an MSVC6 (old Dinkumware) ``standard'' +// iterator, this will generate an appropriate traits class. +template +struct msvc_stdlib_iterator_traits + : mpl::if_< + is_mutable_iterator + , msvc_stdlib_mutable_traits + , msvc_stdlib_const_traits + >::type +{}; + +template +struct non_pointer_iterator_traits + : mpl::if_< + // if the iterator contains all the right nested types... + is_full_iterator_traits + // Use a standard iterator_traits implementation + , standard_iterator_traits +# ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF + // Check for STLPort 4.0 broken _Iterator_category type + , mpl::if_< + is_stlport_40_debug_iterator + , stlport_40_debug_iterator_traits +# endif + // Otherwise, assume it's a Dinkum iterator + , msvc_stdlib_iterator_traits +# ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF + >::type +# endif + >::type +{ +}; + +template +struct iterator_traits_aux + : mpl::if_< + is_pointer + , pointer_iterator_traits + , non_pointer_iterator_traits + >::type +{ +}; + +template +struct iterator_traits +{ + // Explicit forwarding from base class needed to keep MSVC6 happy + // under some circumstances. + private: +# ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION + typedef + typename mpl::if_< + is_bad_output_iterator + , bad_output_iterator_traits + , iterator_traits_aux + >::type base; +# else + typedef iterator_traits_aux base; +# endif + public: + typedef typename base::value_type value_type; + typedef typename base::pointer pointer; + typedef typename base::reference reference; + typedef typename base::difference_type difference_type; + typedef typename base::iterator_category iterator_category; +}; + +// This specialization cuts off ETI (Early Template Instantiation) for MSVC. +template <> struct iterator_traits +{ + typedef int value_type; + typedef int pointer; + typedef int reference; + typedef int difference_type; + typedef int iterator_category; +}; + +}} // namespace boost::detail + +# endif // workarounds + +namespace boost { namespace detail { + +namespace iterator_traits_ +{ + template + struct distance_select + { + static Difference execute(Iterator i1, const Iterator i2, ...) + { + Difference result = 0; + while (i1 != i2) + { + ++i1; + ++result; + } + return result; + } + + static Difference execute(Iterator i1, const Iterator i2, std::random_access_iterator_tag*) + { + return i2 - i1; + } + }; +} // namespace boost::detail::iterator_traits_ + +template +inline typename iterator_traits::difference_type +distance(Iterator first, Iterator last) +{ + typedef typename iterator_traits::difference_type diff_t; + typedef typename ::boost::detail::iterator_traits::iterator_category iterator_category; + + return iterator_traits_::distance_select::execute( + first, last, (iterator_category*)0); +} + +}} + +# endif + + +# undef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF +# undef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION + +#endif // ITERATOR_DWA122600_HPP_ diff --git a/boost_1_33_1/boost/detail/lightweight_mutex.hpp b/boost_1_33_1/boost/detail/lightweight_mutex.hpp new file mode 100644 index 0000000..a0936cb --- /dev/null +++ b/boost_1_33_1/boost/detail/lightweight_mutex.hpp @@ -0,0 +1,42 @@ +#ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED +#define BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/lightweight_mutex.hpp - lightweight mutex +// +// Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// typedef boost::detail::lightweight_mutex; +// +// boost::detail::lightweight_mutex is a header-only implementation of +// a subset of the Mutex concept requirements: +// +// http://www.boost.org/doc/html/threads/concepts.html#threads.concepts.Mutex +// +// It maps to a CRITICAL_SECTION on Windows or a pthread_mutex on POSIX. +// + +#include + +#if !defined(BOOST_HAS_THREADS) +# include +#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) +# include +#elif defined(BOOST_HAS_PTHREADS) +# include +#else +// Use #define BOOST_DISABLE_THREADS to avoid the error +# error Unrecognized threading platform +#endif + +#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/lightweight_test.hpp b/boost_1_33_1/boost/detail/lightweight_test.hpp new file mode 100644 index 0000000..b651e0e --- /dev/null +++ b/boost_1_33_1/boost/detail/lightweight_test.hpp @@ -0,0 +1,75 @@ +#ifndef BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED +#define BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/lightweight_test.hpp - lightweight test library +// +// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// BOOST_TEST(expression) +// BOOST_ERROR(message) +// +// int boost::report_errors() +// + +#include +#include + +namespace boost +{ + +namespace detail +{ + +inline int & test_errors() +{ + static int x = 0; + return x; +} + +inline void test_failed_impl(char const * expr, char const * file, int line, char const * function) +{ + std::cerr << file << "(" << line << "): test '" << expr << "' failed in function '" << function << "'" << std::endl; + ++test_errors(); +} + +inline void error_impl(char const * msg, char const * file, int line, char const * function) +{ + std::cerr << file << "(" << line << "): " << msg << " in function '" << function << "'" << std::endl; + ++test_errors(); +} + +} // namespace detail + +inline int report_errors() +{ + int errors = detail::test_errors(); + + if(errors == 0) + { + std::cerr << "No errors detected." << std::endl; + return 0; + } + else + { + std::cerr << errors << " error" << (errors == 1? "": "s") << " detected." << std::endl; + return 1; + } +} + +} // namespace boost + +#define BOOST_TEST(expr) ((expr)? (void)0: ::boost::detail::test_failed_impl(#expr, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION)) +#define BOOST_ERROR(msg) ::boost::detail::error_impl(msg, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) + +#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/limits.hpp b/boost_1_33_1/boost/detail/limits.hpp new file mode 100644 index 0000000..414ca97 --- /dev/null +++ b/boost_1_33_1/boost/detail/limits.hpp @@ -0,0 +1,445 @@ +/* + * Copyright (c) 1997 + * Silicon Graphics Computer Systems, Inc. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Silicon Graphics makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + */ + +/* NOTE: This is not portable code. Parts of numeric_limits<> are + * inherently machine-dependent, and this file is written for the MIPS + * architecture and the SGI MIPSpro C++ compiler. Parts of it (in + * particular, some of the characteristics of floating-point types) + * are almost certainly incorrect for any other platform. + */ + +/* The above comment is almost certainly out of date. This file works + * on systems other than SGI MIPSpro C++ now. + */ + +/* + * Revision history: + * 21 Sep 2001: + * Only include if BOOST_NO_CWCHAR is defined. (Darin Adler) + * 10 Aug 2001: + * Added MIPS (big endian) to the big endian family. (Jens Maurer) + * 13 Apr 2001: + * Added powerpc to the big endian family. (Jeremy Siek) + * 5 Apr 2001: + * Added sparc (big endian) processor support (John Maddock). + * Initial sub: + * Modified by Jens Maurer for gcc 2.95 on x86. + */ + +#ifndef BOOST_SGI_CPP_LIMITS +#define BOOST_SGI_CPP_LIMITS + +#include +#include +#include +#include + +#ifndef BOOST_NO_CWCHAR +#include // for WCHAR_MIN and WCHAR_MAX +#endif + +namespace std { + +enum float_round_style { + round_indeterminate = -1, + round_toward_zero = 0, + round_to_nearest = 1, + round_toward_infinity = 2, + round_toward_neg_infinity = 3 +}; + +enum float_denorm_style { + denorm_indeterminate = -1, + denorm_absent = 0, + denorm_present = 1 +}; + +// The C++ standard (section 18.2.1) requires that some of the members of +// numeric_limits be static const data members that are given constant- +// initializers within the class declaration. On compilers where the +// BOOST_NO_INCLASS_MEMBER_INITIALIZATION macro is defined, it is impossible to write +// a standard-conforming numeric_limits class. +// +// There are two possible workarounds: either initialize the data +// members outside the class, or change them from data members to +// enums. Neither workaround is satisfactory: the former makes it +// impossible to use the data members in constant-expressions, and the +// latter means they have the wrong type and that it is impossible to +// take their addresses. We choose the former workaround. + +#ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_STL_DECLARE_LIMITS_MEMBER(__mem_type, __mem_name, __mem_value) \ + enum { __mem_name = __mem_value } +#else /* BOOST_NO_INCLASS_MEMBER_INITIALIZATION */ +# define BOOST_STL_DECLARE_LIMITS_MEMBER(__mem_type, __mem_name, __mem_value) \ + static const __mem_type __mem_name = __mem_value +#endif /* BOOST_NO_INCLASS_MEMBER_INITIALIZATION */ + +// Base class for all specializations of numeric_limits. +template +class _Numeric_limits_base { +public: + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, false); + + static __number min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __number(); } + static __number max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __number(); } + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits, 0); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, 0); + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_integer, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_exact, false); + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, radix, 0); + + static __number epsilon() throw() { return __number(); } + static __number round_error() throw() { return __number(); } + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent, 0); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent10, 0); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent, 0); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent10, 0); + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_infinity, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_quiet_NaN, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_signaling_NaN, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(float_denorm_style, + has_denorm, + denorm_absent); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_denorm_loss, false); + + static __number infinity() throw() { return __number(); } + static __number quiet_NaN() throw() { return __number(); } + static __number signaling_NaN() throw() { return __number(); } + static __number denorm_min() throw() { return __number(); } + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_iec559, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_bounded, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_modulo, false); + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, traps, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, tinyness_before, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(float_round_style, + round_style, + round_toward_zero); +}; + +// Base class for integers. + +template +class _Integer_limits : public _Numeric_limits_base<_Int> +{ +public: + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, true); + + static _Int min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __imin; } + static _Int max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __imax; } + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, + digits, + (__idigits < 0) ? (int)(sizeof(_Int) * CHAR_BIT) + - (__imin == 0 ? 0 : 1) + : __idigits); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, (digits * 301) / 1000); + // log 2 = 0.301029995664... + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed, __imin != 0); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_integer, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_exact, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, radix, 2); + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_bounded, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_modulo, true); +}; + +#if defined(BOOST_BIG_ENDIAN) + + template + struct float_helper{ + static Number get_word() throw() { + // sizeof(long double) == 16 + const unsigned int _S_word[4] = { Word, 0, 0, 0 }; + return *reinterpret_cast(&_S_word); + } +}; + +#else + + template + struct float_helper{ + static Number get_word() throw() { + // sizeof(long double) == 12, but only 10 bytes significant + const unsigned int _S_word[4] = { 0, 0, 0, Word }; + return *reinterpret_cast( + reinterpret_cast(&_S_word)+16- + (sizeof(Number) == 12 ? 10 : sizeof(Number))); + } +}; + +#endif + +// Base class for floating-point numbers. +template +class _Floating_limits : public _Numeric_limits_base<__number> +{ +public: + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, true); + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits, __Digits); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, __Digits10); + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed, true); + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, radix, 2); + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent, __MinExp); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent, __MaxExp); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent10, __MinExp10); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent10, __MaxExp10); + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_infinity, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_quiet_NaN, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_signaling_NaN, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(float_denorm_style, + has_denorm, + denorm_indeterminate); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_denorm_loss, false); + + + static __number infinity() throw() { + return float_helper<__number, __InfinityWord>::get_word(); + } + static __number quiet_NaN() throw() { + return float_helper<__number,__QNaNWord>::get_word(); + } + static __number signaling_NaN() throw() { + return float_helper<__number,__SNaNWord>::get_word(); + } + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_iec559, __IsIEC559); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_bounded, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, traps, false /* was: true */ ); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, tinyness_before, false); + + BOOST_STL_DECLARE_LIMITS_MEMBER(float_round_style, round_style, __RoundStyle); +}; + +// Class numeric_limits + +// The unspecialized class. + +template +class numeric_limits : public _Numeric_limits_base {}; + +// Specializations for all built-in integral types. + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +#ifndef BOOST_NO_INTRINSIC_WCHAR_T +template<> +class numeric_limits +#if !defined(WCHAR_MAX) || !defined(WCHAR_MIN) +#if defined(_WIN32) || defined(__CYGWIN__) + : public _Integer_limits +#elif defined(__hppa) +// wchar_t has "unsigned int" as the underlying type + : public _Integer_limits +#else +// assume that wchar_t has "int" as the underlying type + : public _Integer_limits +#endif +#else +// we have WCHAR_MIN and WCHAR_MAX defined, so use it + : public _Integer_limits +#endif +{}; +#endif + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +#ifdef __GNUC__ + +// Some compilers have long long, but don't define the +// LONGLONG_MIN and LONGLONG_MAX macros in limits.h. This +// assumes that long long is 64 bits. +#if !defined(LONGLONG_MAX) && !defined(ULONGLONG_MAX) + +# define ULONGLONG_MAX 0xffffffffffffffffLLU +# define LONGLONG_MAX 0x7fffffffffffffffLL + +#endif + +#if !defined(LONGLONG_MIN) +# define LONGLONG_MIN (-LONGLONG_MAX - 1) +#endif + + +#if !defined(ULONGLONG_MIN) +# define ULONGLONG_MIN 0 +#endif + +#endif /* __GNUC__ */ + +// Specializations for all built-in floating-point type. + +template<> class numeric_limits + : public _Floating_limits +{ +public: + static float min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return FLT_MIN; } + static float denorm_min() throw() { return FLT_MIN; } + static float max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return FLT_MAX; } + static float epsilon() throw() { return FLT_EPSILON; } + static float round_error() throw() { return 0.5f; } // Units: ulps. +}; + +template<> class numeric_limits + : public _Floating_limits +{ +public: + static double min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return DBL_MIN; } + static double denorm_min() throw() { return DBL_MIN; } + static double max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return DBL_MAX; } + static double epsilon() throw() { return DBL_EPSILON; } + static double round_error() throw() { return 0.5; } // Units: ulps. +}; + +template<> class numeric_limits + : public _Floating_limits +{ +public: + static long double min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return LDBL_MIN; } + static long double denorm_min() throw() { return LDBL_MIN; } + static long double max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return LDBL_MAX; } + static long double epsilon() throw() { return LDBL_EPSILON; } + static long double round_error() throw() { return 4; } // Units: ulps. +}; + +} // namespace std + +#endif /* BOOST_SGI_CPP_LIMITS */ + +// Local Variables: +// mode:C++ +// End: + + + diff --git a/boost_1_33_1/boost/detail/lwm_nop.hpp b/boost_1_33_1/boost/detail/lwm_nop.hpp new file mode 100644 index 0000000..c73ab68 --- /dev/null +++ b/boost_1_33_1/boost/detail/lwm_nop.hpp @@ -0,0 +1,37 @@ +#ifndef BOOST_DETAIL_LWM_NOP_HPP_INCLUDED +#define BOOST_DETAIL_LWM_NOP_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/lwm_nop.hpp +// +// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +namespace boost +{ + +namespace detail +{ + +class lightweight_mutex +{ +public: + + typedef lightweight_mutex scoped_lock; +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_LWM_NOP_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/lwm_pthreads.hpp b/boost_1_33_1/boost/detail/lwm_pthreads.hpp new file mode 100644 index 0000000..a5bf75b --- /dev/null +++ b/boost_1_33_1/boost/detail/lwm_pthreads.hpp @@ -0,0 +1,86 @@ +#ifndef BOOST_DETAIL_LWM_PTHREADS_HPP_INCLUDED +#define BOOST_DETAIL_LWM_PTHREADS_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/lwm_pthreads.hpp +// +// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#include + +namespace boost +{ + +namespace detail +{ + +class lightweight_mutex +{ +private: + + pthread_mutex_t m_; + + lightweight_mutex(lightweight_mutex const &); + lightweight_mutex & operator=(lightweight_mutex const &); + +public: + + lightweight_mutex() + { + +// HPUX 10.20 / DCE has a nonstandard pthread_mutex_init + +#if defined(__hpux) && defined(_DECTHREADS_) + pthread_mutex_init(&m_, pthread_mutexattr_default); +#else + pthread_mutex_init(&m_, 0); +#endif + } + + ~lightweight_mutex() + { + pthread_mutex_destroy(&m_); + } + + class scoped_lock; + friend class scoped_lock; + + class scoped_lock + { + private: + + pthread_mutex_t & m_; + + scoped_lock(scoped_lock const &); + scoped_lock & operator=(scoped_lock const &); + + public: + + scoped_lock(lightweight_mutex & m): m_(m.m_) + { + pthread_mutex_lock(&m_); + } + + ~scoped_lock() + { + pthread_mutex_unlock(&m_); + } + }; +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_LWM_PTHREADS_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/lwm_win32_cs.hpp b/boost_1_33_1/boost/detail/lwm_win32_cs.hpp new file mode 100644 index 0000000..4ee0a71 --- /dev/null +++ b/boost_1_33_1/boost/detail/lwm_win32_cs.hpp @@ -0,0 +1,104 @@ +#ifndef BOOST_DETAIL_LWM_WIN32_CS_HPP_INCLUDED +#define BOOST_DETAIL_LWM_WIN32_CS_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/lwm_win32_cs.hpp +// +// Copyright (c) 2002, 2003 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#ifdef BOOST_USE_WINDOWS_H +# include +#endif + +namespace boost +{ + +namespace detail +{ + +#ifndef BOOST_USE_WINDOWS_H + +struct CRITICAL_SECTION +{ + struct critical_section_debug * DebugInfo; + long LockCount; + long RecursionCount; + void * OwningThread; + void * LockSemaphore; +#if defined(_WIN64) + unsigned __int64 SpinCount; +#else + unsigned long SpinCount; +#endif +}; + +extern "C" __declspec(dllimport) void __stdcall InitializeCriticalSection(CRITICAL_SECTION *); +extern "C" __declspec(dllimport) void __stdcall EnterCriticalSection(CRITICAL_SECTION *); +extern "C" __declspec(dllimport) void __stdcall LeaveCriticalSection(CRITICAL_SECTION *); +extern "C" __declspec(dllimport) void __stdcall DeleteCriticalSection(CRITICAL_SECTION *); + +#endif // #ifndef BOOST_USE_WINDOWS_H + +class lightweight_mutex +{ +private: + + CRITICAL_SECTION cs_; + + lightweight_mutex(lightweight_mutex const &); + lightweight_mutex & operator=(lightweight_mutex const &); + +public: + + lightweight_mutex() + { + InitializeCriticalSection(&cs_); + } + + ~lightweight_mutex() + { + DeleteCriticalSection(&cs_); + } + + class scoped_lock; + friend class scoped_lock; + + class scoped_lock + { + private: + + lightweight_mutex & m_; + + scoped_lock(scoped_lock const &); + scoped_lock & operator=(scoped_lock const &); + + public: + + explicit scoped_lock(lightweight_mutex & m): m_(m) + { + EnterCriticalSection(&m_.cs_); + } + + ~scoped_lock() + { + LeaveCriticalSection(&m_.cs_); + } + }; +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_LWM_WIN32_CS_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/named_template_params.hpp b/boost_1_33_1/boost/detail/named_template_params.hpp new file mode 100644 index 0000000..e7cb079 --- /dev/null +++ b/boost_1_33_1/boost/detail/named_template_params.hpp @@ -0,0 +1,177 @@ +// (C) Copyright Jeremy Siek 2001. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// Revision History: + +// 04 Oct 2001 David Abrahams +// Changed name of "bind" to "select" to avoid problems with MSVC. + +#ifndef BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP +#define BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP + +#include +#include // for is_reference +#if defined(__BORLANDC__) +#include +#endif + +namespace boost { + namespace detail { + + struct default_argument { }; + + struct dummy_default_gen { + template + struct select { + typedef default_argument type; + }; + }; + + // This class template is a workaround for MSVC. + template struct default_generator { + typedef detail::dummy_default_gen type; + }; + + template struct is_default { + enum { value = false }; + typedef type_traits::no_type type; + }; + template <> struct is_default { + enum { value = true }; + typedef type_traits::yes_type type; + }; + + struct choose_default { + template + struct select { + typedef typename default_generator::type Gen; + typedef typename Gen::template select::type type; + }; + }; + struct choose_arg { + template + struct select { + typedef Arg type; + }; + }; + +#if defined(__BORLANDC__) + template + struct choose_arg_or_default { typedef choose_arg type; }; + template <> + struct choose_arg_or_default { + typedef choose_default type; + }; +#else + template + struct choose_arg_or_default { typedef choose_arg type; }; + template <> + struct choose_arg_or_default { + typedef choose_default type; + }; +#endif + + template + class resolve_default { +#if defined(__BORLANDC__) + typedef typename choose_arg_or_default::type>::type Selector; +#else + // This usually works for Borland, but I'm seeing weird errors in + // iterator_adaptor_test.cpp when using this method. + enum { is_def = is_default::value }; + typedef typename choose_arg_or_default::type Selector; +#endif + public: + typedef typename Selector + ::template select::type type; + }; + + // To differentiate an unnamed parameter from a traits generator + // we use is_convertible. + struct named_template_param_base { }; + + template + struct is_named_param_list { + enum { value = is_convertible::value }; + }; + + struct choose_named_params { + template struct select { typedef Prev type; }; + }; + struct choose_default_arg { + template struct select { + typedef detail::default_argument type; + }; + }; + + template struct choose_default_dispatch_; + template <> struct choose_default_dispatch_ { + typedef choose_named_params type; + }; + template <> struct choose_default_dispatch_ { + typedef choose_default_arg type; + }; + // The use of inheritance here is a Solaris Forte 6 workaround. + template struct choose_default_dispatch + : public choose_default_dispatch_ { }; + + template + struct choose_default_argument { + enum { is_named = is_named_param_list::value }; + typedef typename choose_default_dispatch::type Selector; + typedef typename Selector::template select::type type; + }; + + // This macro assumes that there is a class named default_##TYPE + // defined before the application of the macro. This class should + // have a single member class template named "select" with two + // template parameters: the type of the class being created (e.g., + // the iterator_adaptor type when creating iterator adaptors) and + // a traits class. The select class should have a single typedef + // named "type" that produces the default for TYPE. See + // boost/iterator_adaptors.hpp for an example usage. Also, + // applications of this macro must be placed in namespace + // boost::detail. + +#define BOOST_NAMED_TEMPLATE_PARAM(TYPE) \ + struct get_##TYPE##_from_named { \ + template \ + struct select { \ + typedef typename NamedParams::traits NamedTraits; \ + typedef typename NamedTraits::TYPE TYPE; \ + typedef typename resolve_default::type type; \ + }; \ + }; \ + struct pass_thru_##TYPE { \ + template struct select { \ + typedef typename resolve_default::type type; \ + };\ + }; \ + template \ + struct get_##TYPE##_dispatch { }; \ + template <> struct get_##TYPE##_dispatch<1> { \ + typedef get_##TYPE##_from_named type; \ + }; \ + template <> struct get_##TYPE##_dispatch<0> { \ + typedef pass_thru_##TYPE type; \ + }; \ + template \ + class get_##TYPE { \ + enum { is_named = is_named_param_list::value }; \ + typedef typename get_##TYPE##_dispatch::type Selector; \ + public: \ + typedef typename Selector::template select::type type; \ + }; \ + template <> struct default_generator { \ + typedef default_##TYPE type; \ + } + + + } // namespace detail +} // namespace boost + +#endif // BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP diff --git a/boost_1_33_1/boost/detail/no_exceptions_support.hpp b/boost_1_33_1/boost/detail/no_exceptions_support.hpp new file mode 100644 index 0000000..d94e358 --- /dev/null +++ b/boost_1_33_1/boost/detail/no_exceptions_support.hpp @@ -0,0 +1,87 @@ +#ifndef BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_ +#define BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_ + +#if (defined _MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif + +//---------------------------------------------------------------------- +// (C) Copyright 2004 Pavel Vozenilek. +// Use, modification and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt +// or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// +// This file contains helper macros used when exception support may be +// disabled (as indicated by macro BOOST_NO_EXCEPTIONS). +// +// Before picking up these macros you may consider using RAII techniques +// to deal with exceptions - their syntax can be always the same with +// or without exception support enabled. +// + +/* Example of use: + +void foo() { + BOOST_TRY { + ... + } BOOST_CATCH(const std::bad_alloc&) { + ... + BOOST_RETHROW + } BOOST_CATCH(const std::exception& e) { + ... + } + BOOST_CATCH_END +} + +With exception support enabled it will expand into: + +void foo() { + { try { + ... + } catch (const std::bad_alloc&) { + ... + throw; + } catch (const std::exception& e) { + ... + } + } +} + +With exception support disabled it will expand into: + +void foo() { + { if(true) { + ... + } else if (false) { + ... + } else if (false) { + ... + } + } +} +*/ +//---------------------------------------------------------------------- + +#include +#include + +#if !(defined BOOST_NO_EXCEPTIONS) +# define BOOST_TRY { try +# define BOOST_CATCH(x) catch(x) +# define BOOST_RETHROW throw; +# define BOOST_CATCH_END } +#else +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +# define BOOST_TRY { if ("") +# define BOOST_CATCH(x) else if (!"") +# else +# define BOOST_TRY { if (true) +# define BOOST_CATCH(x) else if (false) +# endif +# define BOOST_RETHROW +# define BOOST_CATCH_END } +#endif + + +#endif diff --git a/boost_1_33_1/boost/detail/none_t.hpp b/boost_1_33_1/boost/detail/none_t.hpp new file mode 100644 index 0000000..76ba97a --- /dev/null +++ b/boost_1_33_1/boost/detail/none_t.hpp @@ -0,0 +1,28 @@ +// Copyright (C) 2003, Fernando Luis Cacciola Carballal. +// +// Use, modification, and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/lib/optional for documentation. +// +// You are welcome to contact the author at: +// fernando_cacciola@hotmail.com +// +#ifndef BOOST_DETAIL_NONE_T_17SEP2003_HPP +#define BOOST_DETAIL_NONE_T_17SEP2003_HPP + +namespace boost { + +namespace detail { + +struct none_helper{}; + +typedef int none_helper::*none_t ; + +} // namespace detail + +} // namespace boost + +#endif + diff --git a/boost_1_33_1/boost/detail/numeric_traits.hpp b/boost_1_33_1/boost/detail/numeric_traits.hpp new file mode 100644 index 0000000..6325d70 --- /dev/null +++ b/boost_1_33_1/boost/detail/numeric_traits.hpp @@ -0,0 +1,191 @@ +// (C) Copyright David Abrahams 2001, Howard Hinnant 2001. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Template class numeric_traits -- +// +// Supplies: +// +// typedef difference_type -- a type used to represent the difference +// between any two values of Number. +// +// Support: +// 1. Not all specializations are supplied +// +// 2. Use of specializations that are not supplied will cause a +// compile-time error +// +// 3. Users are free to specialize numeric_traits for any type. +// +// 4. Right now, specializations are only supplied for integer types. +// +// 5. On implementations which do not supply compile-time constants in +// std::numeric_limits<>, only specializations for built-in integer types +// are supplied. +// +// 6. Handling of numbers whose range of representation is at least as +// great as boost::intmax_t can cause some differences to be +// unrepresentable in difference_type: +// +// Number difference_type +// ------ --------------- +// signed Number +// unsigned intmax_t +// +// template typename numeric_traits::difference_type +// numeric_distance(Number x, Number y) +// computes (y - x), attempting to avoid overflows. +// + +// See http://www.boost.org for most recent version including documentation. + +// Revision History +// 11 Feb 2001 - Use BOOST_STATIC_CONSTANT (David Abrahams) +// 11 Feb 2001 - Rolled back ineffective Borland-specific code +// (David Abrahams) +// 10 Feb 2001 - Rolled in supposed Borland fixes from John Maddock, but +// not seeing any improvement yet (David Abrahams) +// 06 Feb 2001 - Factored if_true out into boost/detail/select_type.hpp +// (David Abrahams) +// 23 Jan 2001 - Fixed logic of difference_type selection, which was +// completely wack. In the process, added digit_traits<> +// to compute the number of digits in intmax_t even when +// not supplied by numeric_limits<>. (David Abrahams) +// 21 Jan 2001 - Created (David Abrahams) + +#ifndef BOOST_NUMERIC_TRAITS_HPP_DWA20001901 +# define BOOST_NUMERIC_TRAITS_HPP_DWA20001901 + +# include +# include +# include +# include +# include +# include + +namespace boost { namespace detail { + + // Template class is_signed -- determine whether a numeric type is signed + // Requires that T is constructable from the literals -1 and 0. Compile-time + // error results if that requirement is not met (and thus signedness is not + // likely to have meaning for that type). + template + struct is_signed + { +#if defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || defined(BOOST_MSVC) && BOOST_MSVC <= 1300 + BOOST_STATIC_CONSTANT(bool, value = (Number(-1) < Number(0))); +#else + BOOST_STATIC_CONSTANT(bool, value = std::numeric_limits::is_signed); +#endif + }; + +# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS + // digit_traits - compute the number of digits in a built-in integer + // type. Needed for implementations on which numeric_limits is not specialized + // for intmax_t (e.g. VC6). + template struct digit_traits_select; + + // numeric_limits is specialized; just select that version of digits + template <> struct digit_traits_select + { + template struct traits + { + BOOST_STATIC_CONSTANT(int, digits = std::numeric_limits::digits); + }; + }; + + // numeric_limits is not specialized; compute digits from sizeof(T) + template <> struct digit_traits_select + { + template struct traits + { + BOOST_STATIC_CONSTANT(int, digits = ( + sizeof(T) * std::numeric_limits::digits + - (is_signed::value ? 1 : 0)) + ); + }; + }; + + // here's the "usable" template + template struct digit_traits + { + typedef digit_traits_select< + ::std::numeric_limits::is_specialized> selector; + typedef typename selector::template traits traits; + BOOST_STATIC_CONSTANT(int, digits = traits::digits); + }; +#endif + + // Template class integer_traits -- traits of various integer types + // This should probably be rolled into boost::integer_traits one day, but I + // need it to work without + template + struct integer_traits + { +# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS + private: + typedef Integer integer_type; + typedef std::numeric_limits x; +# if defined(BOOST_MSVC) && BOOST_MSVC <= 1300 + // for some reason, MSVC asserts when it shouldn't unless we make these + // local definitions + BOOST_STATIC_CONSTANT(bool, is_integer = x::is_integer); + BOOST_STATIC_CONSTANT(bool, is_specialized = x::is_specialized); + + BOOST_STATIC_ASSERT(is_integer); + BOOST_STATIC_ASSERT(is_specialized); +# endif + public: + typedef typename + if_true<(int(x::is_signed) + && (!int(x::is_bounded) + // digits is the number of no-sign bits + || (int(x::digits) + 1 >= digit_traits::digits)))>::template then< + Integer, + + typename if_true<(int(x::digits) + 1 < digit_traits::digits)>::template then< + signed int, + + typename if_true<(int(x::digits) + 1 < digit_traits::digits)>::template then< + signed long, + + // else + intmax_t + >::type>::type>::type difference_type; +#else + BOOST_STATIC_ASSERT(boost::is_integral::value); + + typedef typename + if_true<(sizeof(Integer) >= sizeof(intmax_t))>::template then< + + typename if_true<(is_signed::value)>::template then< + Integer, + intmax_t + >::type, + + typename if_true<(sizeof(Integer) < sizeof(std::ptrdiff_t))>::template then< + std::ptrdiff_t, + intmax_t + >::type + >::type difference_type; +# endif + }; + + // Right now, only supports integers, but should be expanded. + template + struct numeric_traits + { + typedef typename integer_traits::difference_type difference_type; + }; + + template + typename numeric_traits::difference_type numeric_distance(Number x, Number y) + { + typedef typename numeric_traits::difference_type difference_type; + return difference_type(y) - difference_type(x); + } +}} + +#endif // BOOST_NUMERIC_TRAITS_HPP_DWA20001901 diff --git a/boost_1_33_1/boost/detail/ob_call_traits.hpp b/boost_1_33_1/boost/detail/ob_call_traits.hpp new file mode 100644 index 0000000..eb4df7a --- /dev/null +++ b/boost_1_33_1/boost/detail/ob_call_traits.hpp @@ -0,0 +1,168 @@ +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt). +// +// See http://www.boost.org/libs/utility for most recent version including documentation. +// +// Crippled version for crippled compilers: +// see libs/utility/call_traits.htm +// + +/* Release notes: + 01st October 2000: + Fixed call_traits on VC6, using "poor man's partial specialisation", + using ideas taken from "Generative programming" by Krzysztof Czarnecki + & Ulrich Eisenecker. +*/ + +#ifndef BOOST_OB_CALL_TRAITS_HPP +#define BOOST_OB_CALL_TRAITS_HPP + +#ifndef BOOST_CONFIG_HPP +#include +#endif + +#ifndef BOOST_ARITHMETIC_TYPE_TRAITS_HPP +#include +#endif +#ifndef BOOST_COMPOSITE_TYPE_TRAITS_HPP +#include +#endif + +namespace boost{ + +#ifdef BOOST_MSVC6_MEMBER_TEMPLATES +// +// use member templates to emulate +// partial specialisation: +// +namespace detail{ + +template +struct standard_call_traits +{ + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; + typedef const T& param_type; +}; +template +struct simple_call_traits +{ + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; + typedef const T param_type; +}; +template +struct reference_call_traits +{ + typedef T value_type; + typedef T reference; + typedef T const_reference; + typedef T param_type; +}; + +template +struct call_traits_chooser +{ + template + struct rebind + { + typedef standard_call_traits type; + }; +}; + +template <> +struct call_traits_chooser +{ + template + struct rebind + { + typedef simple_call_traits type; + }; +}; + +template <> +struct call_traits_chooser +{ + template + struct rebind + { + typedef reference_call_traits type; + }; +}; + +template +struct call_traits_sizeof_chooser2 +{ + template + struct small_rebind + { + typedef simple_call_traits small_type; + }; +}; + +template<> +struct call_traits_sizeof_chooser2 +{ + template + struct small_rebind + { + typedef standard_call_traits small_type; + }; +}; + +template <> +struct call_traits_chooser +{ + template + struct rebind + { + enum { sizeof_choice = (sizeof(T) <= sizeof(void*)) }; + typedef call_traits_sizeof_chooser2<(sizeof(T) <= sizeof(void*))> chooser; + typedef typename chooser::template small_rebind bound_type; + typedef typename bound_type::small_type type; + }; +}; + +} // namespace detail +template +struct call_traits +{ +private: + typedef detail::call_traits_chooser< + ::boost::is_pointer::value, + ::boost::is_arithmetic::value, + ::boost::is_reference::value + > chooser; + typedef typename chooser::template rebind bound_type; + typedef typename bound_type::type call_traits_type; +public: + typedef typename call_traits_type::value_type value_type; + typedef typename call_traits_type::reference reference; + typedef typename call_traits_type::const_reference const_reference; + typedef typename call_traits_type::param_type param_type; +}; + +#else +// +// sorry call_traits is completely non-functional +// blame your broken compiler: +// + +template +struct call_traits +{ + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; + typedef const T& param_type; +}; + +#endif // member templates + +} + +#endif // BOOST_OB_CALL_TRAITS_HPP diff --git a/boost_1_33_1/boost/detail/ob_compressed_pair.hpp b/boost_1_33_1/boost/detail/ob_compressed_pair.hpp new file mode 100644 index 0000000..727acab --- /dev/null +++ b/boost_1_33_1/boost/detail/ob_compressed_pair.hpp @@ -0,0 +1,510 @@ +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt). +// +// See http://www.boost.org/libs/utility for most recent version including documentation. +// see libs/utility/compressed_pair.hpp +// +/* Release notes: + 20 Jan 2001: + Fixed obvious bugs (David Abrahams) + 07 Oct 2000: + Added better single argument constructor support. + 03 Oct 2000: + Added VC6 support (JM). + 23rd July 2000: + Additional comments added. (JM) + Jan 2000: + Original version: this version crippled for use with crippled compilers + - John Maddock Jan 2000. +*/ + + +#ifndef BOOST_OB_COMPRESSED_PAIR_HPP +#define BOOST_OB_COMPRESSED_PAIR_HPP + +#include +#ifndef BOOST_OBJECT_TYPE_TRAITS_HPP +#include +#endif +#ifndef BOOST_SAME_TRAITS_HPP +#include +#endif +#ifndef BOOST_CALL_TRAITS_HPP +#include +#endif + +namespace boost +{ +#ifdef BOOST_MSVC6_MEMBER_TEMPLATES +// +// use member templates to emulate +// partial specialisation. Note that due to +// problems with overload resolution with VC6 +// each of the compressed_pair versions that follow +// have one template single-argument constructor +// in place of two specific constructors: +// + +template +class compressed_pair; + +namespace detail{ + +template +struct best_conversion_traits +{ + typedef char one; + typedef char (&two)[2]; + static A a; + static one test(T1); + static two test(T2); + + enum { value = sizeof(test(a)) }; +}; + +template +struct init_one; + +template <> +struct init_one<1> +{ + template + static void init(const A& a, T1* p1, T2*) + { + *p1 = a; + } +}; + +template <> +struct init_one<2> +{ + template + static void init(const A& a, T1*, T2* p2) + { + *p2 = a; + } +}; + + +// T1 != T2, both non-empty +template +class compressed_pair_0 +{ +private: + T1 _first; + T2 _second; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_0() : _first(), _second() {} + compressed_pair_0(first_param_type x, second_param_type y) : _first(x), _second(y) {} + template + explicit compressed_pair_0(const A& val) + { + init_one::value>::init(val, &_first, &_second); + } + compressed_pair_0(const ::boost::compressed_pair& x) + : _first(x.first()), _second(x.second()) {} + +#if 0 + compressed_pair_0& operator=(const compressed_pair_0& x) { + cout << "assigning compressed pair 0" << endl; + _first = x._first; + _second = x._second; + cout << "finished assigning compressed pair 0" << endl; + return *this; + } +#endif + + first_reference first() { return _first; } + first_const_reference first() const { return _first; } + + second_reference second() { return _second; } + second_const_reference second() const { return _second; } + + void swap(compressed_pair_0& y) + { + using std::swap; + swap(_first, y._first); + swap(_second, y._second); + } +}; + +// T1 != T2, T2 empty +template +class compressed_pair_1 : T2 +{ +private: + T1 _first; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_1() : T2(), _first() {} + compressed_pair_1(first_param_type x, second_param_type y) : T2(y), _first(x) {} + + template + explicit compressed_pair_1(const A& val) + { + init_one::value>::init(val, &_first, static_cast(this)); + } + + compressed_pair_1(const ::boost::compressed_pair& x) + : T2(x.second()), _first(x.first()) {} + +#if defined(BOOST_MSVC) && BOOST_MSVC <= 1300 + // Total weirdness. If the assignment to _first is moved after + // the call to the inherited operator=, then this breaks graph/test/graph.cpp + // by way of iterator_adaptor. + compressed_pair_1& operator=(const compressed_pair_1& x) { + _first = x._first; + T2::operator=(x); + return *this; + } +#endif + + first_reference first() { return _first; } + first_const_reference first() const { return _first; } + + second_reference second() { return *this; } + second_const_reference second() const { return *this; } + + void swap(compressed_pair_1& y) + { + // no need to swap empty base class: + using std::swap; + swap(_first, y._first); + } +}; + +// T1 != T2, T1 empty +template +class compressed_pair_2 : T1 +{ +private: + T2 _second; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_2() : T1(), _second() {} + compressed_pair_2(first_param_type x, second_param_type y) : T1(x), _second(y) {} + template + explicit compressed_pair_2(const A& val) + { + init_one::value>::init(val, static_cast(this), &_second); + } + compressed_pair_2(const ::boost::compressed_pair& x) + : T1(x.first()), _second(x.second()) {} + +#if 0 + compressed_pair_2& operator=(const compressed_pair_2& x) { + cout << "assigning compressed pair 2" << endl; + T1::operator=(x); + _second = x._second; + cout << "finished assigning compressed pair 2" << endl; + return *this; + } +#endif + first_reference first() { return *this; } + first_const_reference first() const { return *this; } + + second_reference second() { return _second; } + second_const_reference second() const { return _second; } + + void swap(compressed_pair_2& y) + { + // no need to swap empty base class: + using std::swap; + swap(_second, y._second); + } +}; + +// T1 != T2, both empty +template +class compressed_pair_3 : T1, T2 +{ +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_3() : T1(), T2() {} + compressed_pair_3(first_param_type x, second_param_type y) : T1(x), T2(y) {} + template + explicit compressed_pair_3(const A& val) + { + init_one::value>::init(val, static_cast(this), static_cast(this)); + } + compressed_pair_3(const ::boost::compressed_pair& x) + : T1(x.first()), T2(x.second()) {} + + first_reference first() { return *this; } + first_const_reference first() const { return *this; } + + second_reference second() { return *this; } + second_const_reference second() const { return *this; } + + void swap(compressed_pair_3& y) + { + // no need to swap empty base classes: + } +}; + +// T1 == T2, and empty +template +class compressed_pair_4 : T1 +{ +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_4() : T1() {} + compressed_pair_4(first_param_type x, second_param_type y) : T1(x), m_second(y) {} + // only one single argument constructor since T1 == T2 + explicit compressed_pair_4(first_param_type x) : T1(x), m_second(x) {} + compressed_pair_4(const ::boost::compressed_pair& x) + : T1(x.first()), m_second(x.second()) {} + + first_reference first() { return *this; } + first_const_reference first() const { return *this; } + + second_reference second() { return m_second; } + second_const_reference second() const { return m_second; } + + void swap(compressed_pair_4& y) + { + // no need to swap empty base classes: + } +private: + T2 m_second; +}; + +// T1 == T2, not empty +template +class compressed_pair_5 +{ +private: + T1 _first; + T2 _second; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_5() : _first(), _second() {} + compressed_pair_5(first_param_type x, second_param_type y) : _first(x), _second(y) {} + // only one single argument constructor since T1 == T2 + explicit compressed_pair_5(first_param_type x) : _first(x), _second(x) {} + compressed_pair_5(const ::boost::compressed_pair& c) + : _first(c.first()), _second(c.second()) {} + + first_reference first() { return _first; } + first_const_reference first() const { return _first; } + + second_reference second() { return _second; } + second_const_reference second() const { return _second; } + + void swap(compressed_pair_5& y) + { + using std::swap; + swap(_first, y._first); + swap(_second, y._second); + } +}; + +template +struct compressed_pair_chooser +{ + template + struct rebind + { + typedef compressed_pair_0 type; + }; +}; + +template <> +struct compressed_pair_chooser +{ + template + struct rebind + { + typedef compressed_pair_1 type; + }; +}; + +template <> +struct compressed_pair_chooser +{ + template + struct rebind + { + typedef compressed_pair_2 type; + }; +}; + +template <> +struct compressed_pair_chooser +{ + template + struct rebind + { + typedef compressed_pair_3 type; + }; +}; + +template <> +struct compressed_pair_chooser +{ + template + struct rebind + { + typedef compressed_pair_4 type; + }; +}; + +template <> +struct compressed_pair_chooser +{ + template + struct rebind + { + typedef compressed_pair_5 type; + }; +}; + +template +struct compressed_pair_traits +{ +private: + typedef compressed_pair_chooser::value, is_empty::value, is_same::value> chooser; + typedef typename chooser::template rebind bound_type; +public: + typedef typename bound_type::type type; +}; + +} // namespace detail + +template +class compressed_pair : public detail::compressed_pair_traits::type +{ +private: + typedef typename detail::compressed_pair_traits::type base_type; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair() : base_type() {} + compressed_pair(first_param_type x, second_param_type y) : base_type(x, y) {} + template + explicit compressed_pair(const A& x) : base_type(x){} + + first_reference first() { return base_type::first(); } + first_const_reference first() const { return base_type::first(); } + + second_reference second() { return base_type::second(); } + second_const_reference second() const { return base_type::second(); } +}; + +template +inline void swap(compressed_pair& x, compressed_pair& y) +{ + x.swap(y); +} + +#else +// no partial specialisation, no member templates: + +template +class compressed_pair +{ +private: + T1 _first; + T2 _second; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair() : _first(), _second() {} + compressed_pair(first_param_type x, second_param_type y) : _first(x), _second(y) {} + explicit compressed_pair(first_param_type x) : _first(x), _second() {} + // can't define this in case T1 == T2: + // explicit compressed_pair(second_param_type y) : _first(), _second(y) {} + + first_reference first() { return _first; } + first_const_reference first() const { return _first; } + + second_reference second() { return _second; } + second_const_reference second() const { return _second; } + + void swap(compressed_pair& y) + { + using std::swap; + swap(_first, y._first); + swap(_second, y._second); + } +}; + +template +inline void swap(compressed_pair& x, compressed_pair& y) +{ + x.swap(y); +} + +#endif + +} // boost + +#endif // BOOST_OB_COMPRESSED_PAIR_HPP + + + diff --git a/boost_1_33_1/boost/detail/quick_allocator.hpp b/boost_1_33_1/boost/detail/quick_allocator.hpp new file mode 100644 index 0000000..eb6398c --- /dev/null +++ b/boost_1_33_1/boost/detail/quick_allocator.hpp @@ -0,0 +1,188 @@ +#ifndef BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED +#define BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/quick_allocator.hpp +// +// Copyright (c) 2003 David Abrahams +// Copyright (c) 2003 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#include + +#include +#include +#include + +#include // ::operator new, ::operator delete +#include // std::size_t + +namespace boost +{ + +namespace detail +{ + +template union freeblock +{ + typedef typename boost::type_with_alignment::type aligner_type; + aligner_type aligner; + char bytes[size]; + freeblock * next; +}; + +template struct allocator_impl +{ + typedef freeblock block; + + // It may seem odd to use such small pages. + // + // However, on a typical Windows implementation that uses + // the OS allocator, "normal size" pages interact with the + // "ordinary" operator new, slowing it down dramatically. + // + // 512 byte pages are handled by the small object allocator, + // and don't interfere with ::new. + // + // The other alternative is to use much bigger pages (1M.) + // + // It is surprisingly easy to hit pathological behavior by + // varying the page size. g++ 2.96 on Red Hat Linux 7.2, + // for example, passionately dislikes 496. 512 seems OK. + +#if defined(BOOST_QA_PAGE_SIZE) + + enum { items_per_page = BOOST_QA_PAGE_SIZE / size }; + +#else + + enum { items_per_page = 512 / size }; // 1048560 / size + +#endif + +#ifdef BOOST_HAS_THREADS + static lightweight_mutex mutex; +#endif + + static block * free; + static block * page; + static unsigned last; + + static inline void * alloc() + { +#ifdef BOOST_HAS_THREADS + lightweight_mutex::scoped_lock lock(mutex); +#endif + if(block * x = free) + { + free = x->next; + return x; + } + else + { + if(last == items_per_page) + { + // "Listen to me carefully: there is no memory leak" + // -- Scott Meyers, Eff C++ 2nd Ed Item 10 + page = ::new block[items_per_page]; + last = 0; + } + + return &page[last++]; + } + } + + static inline void * alloc(std::size_t n) + { + if(n != size) // class-specific new called for a derived object + { + return ::operator new(n); + } + else + { +#ifdef BOOST_HAS_THREADS + lightweight_mutex::scoped_lock lock(mutex); +#endif + if(block * x = free) + { + free = x->next; + return x; + } + else + { + if(last == items_per_page) + { + page = ::new block[items_per_page]; + last = 0; + } + + return &page[last++]; + } + } + } + + static inline void dealloc(void * pv) + { + if(pv != 0) // 18.4.1.1/13 + { +#ifdef BOOST_HAS_THREADS + lightweight_mutex::scoped_lock lock(mutex); +#endif + block * pb = static_cast(pv); + pb->next = free; + free = pb; + } + } + + static inline void dealloc(void * pv, std::size_t n) + { + if(n != size) // class-specific delete called for a derived object + { + ::operator delete(pv); + } + else if(pv != 0) // 18.4.1.1/13 + { +#ifdef BOOST_HAS_THREADS + lightweight_mutex::scoped_lock lock(mutex); +#endif + block * pb = static_cast(pv); + pb->next = free; + free = pb; + } + } +}; + +#ifdef BOOST_HAS_THREADS +template + lightweight_mutex allocator_impl::mutex; +#endif + +template + freeblock * allocator_impl::free = 0; + +template + freeblock * allocator_impl::page = 0; + +template + unsigned allocator_impl::last = allocator_impl::items_per_page; + +template +struct quick_allocator: public allocator_impl< sizeof(T), boost::alignment_of::value > +{ +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/reference_content.hpp b/boost_1_33_1/boost/detail/reference_content.hpp new file mode 100644 index 0000000..daf56a8 --- /dev/null +++ b/boost_1_33_1/boost/detail/reference_content.hpp @@ -0,0 +1,141 @@ +//----------------------------------------------------------------------------- +// boost detail/reference_content.hpp header file +// See http://www.boost.org for updates, documentation, and revision history. +//----------------------------------------------------------------------------- +// +// Copyright (c) 2003 +// Eric Friedman +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_DETAIL_REFERENCE_CONTENT_HPP +#define BOOST_DETAIL_REFERENCE_CONTENT_HPP + +#include "boost/config.hpp" + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +# include "boost/mpl/bool.hpp" +# include "boost/type_traits/has_nothrow_copy.hpp" +#else +# include "boost/mpl/if.hpp" +# include "boost/type_traits/is_reference.hpp" +#endif + +#include "boost/mpl/void.hpp" + +namespace boost { + +namespace detail { + +/////////////////////////////////////////////////////////////////////////////// +// (detail) class template reference_content +// +// Non-Assignable wrapper for references. +// +template +class reference_content +{ +private: // representation + + RefT content_; + +public: // structors + + ~reference_content() + { + } + + reference_content(RefT r) + : content_( r ) + { + } + + reference_content(const reference_content& operand) + : content_( operand.content_ ) + { + } + +private: // non-Assignable + + reference_content& operator=(const reference_content&); + +public: // queries + + RefT get() const + { + return content_; + } + +}; + +/////////////////////////////////////////////////////////////////////////////// +// (detail) metafunction make_reference_content +// +// Wraps with reference_content if specified type is reference. +// + +template struct make_reference_content; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template +struct make_reference_content +{ + typedef T type; +}; + +template +struct make_reference_content< T& > +{ + typedef reference_content type; +}; + +#else // defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template +struct make_reference_content + : mpl::if_< + is_reference + , reference_content + , T + > +{ +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround + +template <> +struct make_reference_content< mpl::void_ > +{ + template + struct apply + : make_reference_content + { + }; + + typedef mpl::void_ type; +}; + +} // namespace detail + +/////////////////////////////////////////////////////////////////////////////// +// reference_content type traits specializations +// + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template +struct has_nothrow_copy< + ::boost::detail::reference_content< T& > + > + : mpl::true_ +{ +}; + +#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +} // namespace boost + +#endif // BOOST_DETAIL_REFERENCE_CONTENT_HPP diff --git a/boost_1_33_1/boost/detail/select_type.hpp b/boost_1_33_1/boost/detail/select_type.hpp new file mode 100644 index 0000000..c13946f --- /dev/null +++ b/boost_1_33_1/boost/detail/select_type.hpp @@ -0,0 +1,36 @@ +// (C) Copyright David Abrahams 2001. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org for most recent version including documentation. + +// Revision History +// 09 Feb 01 Applied John Maddock's Borland patch Moving +// specialization to unspecialized template (David Abrahams) +// 06 Feb 01 Created (David Abrahams) + +#ifndef SELECT_TYPE_DWA20010206_HPP +# define SELECT_TYPE_DWA20010206_HPP + +namespace boost { namespace detail { + + // Template class if_true -- select among 2 types based on a bool constant expression + // Usage: + // typename if_true<(bool_const_expression)>::template then::type + + // HP aCC cannot deal with missing names for template value parameters + template struct if_true + { + template + struct then { typedef T type; }; + }; + + template <> + struct if_true + { + template + struct then { typedef F type; }; + }; +}} +#endif // SELECT_TYPE_DWA20010206_HPP diff --git a/boost_1_33_1/boost/detail/shared_array_nmt.hpp b/boost_1_33_1/boost/detail/shared_array_nmt.hpp new file mode 100644 index 0000000..13ca6ac --- /dev/null +++ b/boost_1_33_1/boost/detail/shared_array_nmt.hpp @@ -0,0 +1,151 @@ +#ifndef BOOST_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED +#define BOOST_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED + +// +// detail/shared_array_nmt.hpp - shared_array.hpp without member templates +// +// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. +// Copyright (c) 2001, 2002 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/smart_ptr/shared_array.htm for documentation. +// + +#include +#include +#include +#include + +#include // for std::ptrdiff_t +#include // for std::swap +#include // for std::less +#include // for std::bad_alloc + +namespace boost +{ + +template class shared_array +{ +private: + + typedef detail::atomic_count count_type; + +public: + + typedef T element_type; + + explicit shared_array(T * p = 0): px(p) + { +#ifndef BOOST_NO_EXCEPTIONS + + try // prevent leak if new throws + { + pn = new count_type(1); + } + catch(...) + { + boost::checked_array_delete(p); + throw; + } + +#else + + pn = new count_type(1); + + if(pn == 0) + { + boost::checked_array_delete(p); + boost::throw_exception(std::bad_alloc()); + } + +#endif + } + + ~shared_array() + { + if(--*pn == 0) + { + boost::checked_array_delete(px); + delete pn; + } + } + + shared_array(shared_array const & r) : px(r.px) // never throws + { + pn = r.pn; + ++*pn; + } + + shared_array & operator=(shared_array const & r) + { + shared_array(r).swap(*this); + return *this; + } + + void reset(T * p = 0) + { + BOOST_ASSERT(p == 0 || p != px); + shared_array(p).swap(*this); + } + + T * get() const // never throws + { + return px; + } + + T & operator[](std::ptrdiff_t i) const // never throws + { + BOOST_ASSERT(px != 0); + BOOST_ASSERT(i >= 0); + return px[i]; + } + + long use_count() const // never throws + { + return *pn; + } + + bool unique() const // never throws + { + return *pn == 1; + } + + void swap(shared_array & other) // never throws + { + std::swap(px, other.px); + std::swap(pn, other.pn); + } + +private: + + T * px; // contained pointer + count_type * pn; // ptr to reference counter + +}; // shared_array + +template inline bool operator==(shared_array const & a, shared_array const & b) +{ + return a.get() == b.get(); +} + +template inline bool operator!=(shared_array const & a, shared_array const & b) +{ + return a.get() != b.get(); +} + +template inline bool operator<(shared_array const & a, shared_array const & b) +{ + return std::less()(a.get(), b.get()); +} + +template void swap(shared_array & a, shared_array & b) +{ + a.swap(b); +} + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/shared_count.hpp b/boost_1_33_1/boost/detail/shared_count.hpp new file mode 100644 index 0000000..49aca85 --- /dev/null +++ b/boost_1_33_1/boost/detail/shared_count.hpp @@ -0,0 +1,330 @@ +#ifndef BOOST_DETAIL_SHARED_COUNT_HPP_INCLUDED +#define BOOST_DETAIL_SHARED_COUNT_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/shared_count.hpp +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// Copyright 2004-2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#ifdef __BORLANDC__ +# pragma warn -8027 // Functions containing try are not expanded inline +#endif + +#include +#include +#include +#include +#include +#include + +#include // std::auto_ptr, std::allocator +#include // std::less +#include // std::bad_alloc +#include // std::type_info in get_deleter + +namespace boost +{ + +namespace detail +{ + +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + +int const shared_count_id = 0x2C35F101; +int const weak_count_id = 0x298C38A4; + +#endif + +class weak_count; + +class shared_count +{ +private: + + sp_counted_base * pi_; + +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + int id_; +#endif + + friend class weak_count; + +public: + + shared_count(): pi_(0) // nothrow +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + , id_(shared_count_id) +#endif + { + } + + template explicit shared_count( Y * p ): pi_( 0 ) +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + , id_(shared_count_id) +#endif + { +#ifndef BOOST_NO_EXCEPTIONS + + try + { + pi_ = new sp_counted_impl_p( p ); + } + catch(...) + { + boost::checked_delete( p ); + throw; + } + +#else + + pi_ = new sp_counted_impl_p( p ); + + if( pi_ == 0 ) + { + boost::checked_delete( p ); + boost::throw_exception( std::bad_alloc() ); + } + +#endif + } + + template shared_count(P p, D d): pi_(0) +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + , id_(shared_count_id) +#endif + { +#ifndef BOOST_NO_EXCEPTIONS + + try + { + pi_ = new sp_counted_impl_pd(p, d); + } + catch(...) + { + d(p); // delete p + throw; + } + +#else + + pi_ = new sp_counted_impl_pd(p, d); + + if(pi_ == 0) + { + d(p); // delete p + boost::throw_exception(std::bad_alloc()); + } + +#endif + } + +#ifndef BOOST_NO_AUTO_PTR + + // auto_ptr is special cased to provide the strong guarantee + + template + explicit shared_count( std::auto_ptr & r ): pi_( new sp_counted_impl_p( r.get() ) ) +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + , id_(shared_count_id) +#endif + { +#ifdef BOOST_NO_EXCEPTIONS + + if( pi_ == 0 ) + { + boost::throw_exception(std::bad_alloc()); + } + +#endif + + r.release(); + } + +#endif + + ~shared_count() // nothrow + { + if( pi_ != 0 ) pi_->release(); +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + id_ = 0; +#endif + } + + shared_count(shared_count const & r): pi_(r.pi_) // nothrow +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + , id_(shared_count_id) +#endif + { + if( pi_ != 0 ) pi_->add_ref_copy(); + } + + explicit shared_count(weak_count const & r); // throws bad_weak_ptr when r.use_count() == 0 + + shared_count & operator= (shared_count const & r) // nothrow + { + sp_counted_base * tmp = r.pi_; + + if( tmp != pi_ ) + { + if( tmp != 0 ) tmp->add_ref_copy(); + if( pi_ != 0 ) pi_->release(); + pi_ = tmp; + } + + return *this; + } + + void swap(shared_count & r) // nothrow + { + sp_counted_base * tmp = r.pi_; + r.pi_ = pi_; + pi_ = tmp; + } + + long use_count() const // nothrow + { + return pi_ != 0? pi_->use_count(): 0; + } + + bool unique() const // nothrow + { + return use_count() == 1; + } + + friend inline bool operator==(shared_count const & a, shared_count const & b) + { + return a.pi_ == b.pi_; + } + + friend inline bool operator<(shared_count const & a, shared_count const & b) + { + return std::less()( a.pi_, b.pi_ ); + } + + void * get_deleter(std::type_info const & ti) const + { + return pi_? pi_->get_deleter( ti ): 0; + } +}; + + +class weak_count +{ +private: + + sp_counted_base * pi_; + +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + int id_; +#endif + + friend class shared_count; + +public: + + weak_count(): pi_(0) // nothrow +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + , id_(weak_count_id) +#endif + { + } + + weak_count(shared_count const & r): pi_(r.pi_) // nothrow +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + , id_(shared_count_id) +#endif + { + if(pi_ != 0) pi_->weak_add_ref(); + } + + weak_count(weak_count const & r): pi_(r.pi_) // nothrow +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + , id_(shared_count_id) +#endif + { + if(pi_ != 0) pi_->weak_add_ref(); + } + + ~weak_count() // nothrow + { + if(pi_ != 0) pi_->weak_release(); +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + id_ = 0; +#endif + } + + weak_count & operator= (shared_count const & r) // nothrow + { + sp_counted_base * tmp = r.pi_; + if(tmp != 0) tmp->weak_add_ref(); + if(pi_ != 0) pi_->weak_release(); + pi_ = tmp; + + return *this; + } + + weak_count & operator= (weak_count const & r) // nothrow + { + sp_counted_base * tmp = r.pi_; + if(tmp != 0) tmp->weak_add_ref(); + if(pi_ != 0) pi_->weak_release(); + pi_ = tmp; + + return *this; + } + + void swap(weak_count & r) // nothrow + { + sp_counted_base * tmp = r.pi_; + r.pi_ = pi_; + pi_ = tmp; + } + + long use_count() const // nothrow + { + return pi_ != 0? pi_->use_count(): 0; + } + + friend inline bool operator==(weak_count const & a, weak_count const & b) + { + return a.pi_ == b.pi_; + } + + friend inline bool operator<(weak_count const & a, weak_count const & b) + { + return std::less()(a.pi_, b.pi_); + } +}; + +inline shared_count::shared_count( weak_count const & r ): pi_( r.pi_ ) +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + , id_(shared_count_id) +#endif +{ + if( pi_ == 0 || !pi_->add_ref_lock() ) + { + boost::throw_exception( boost::bad_weak_ptr() ); + } +} + +} // namespace detail + +} // namespace boost + +#ifdef __BORLANDC__ +# pragma warn .8027 // Functions containing try are not expanded inline +#endif + +#endif // #ifndef BOOST_DETAIL_SHARED_COUNT_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/shared_ptr_nmt.hpp b/boost_1_33_1/boost/detail/shared_ptr_nmt.hpp new file mode 100644 index 0000000..0780e30 --- /dev/null +++ b/boost_1_33_1/boost/detail/shared_ptr_nmt.hpp @@ -0,0 +1,182 @@ +#ifndef BOOST_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED +#define BOOST_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED + +// +// detail/shared_ptr_nmt.hpp - shared_ptr.hpp without member templates +// +// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. +// Copyright (c) 2001, 2002 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation. +// + +#include +#include +#include +#include + +#ifndef BOOST_NO_AUTO_PTR +# include // for std::auto_ptr +#endif + +#include // for std::swap +#include // for std::less +#include // for std::bad_alloc + +namespace boost +{ + +template class shared_ptr +{ +private: + + typedef detail::atomic_count count_type; + +public: + + typedef T element_type; + typedef T value_type; + + explicit shared_ptr(T * p = 0): px(p) + { +#ifndef BOOST_NO_EXCEPTIONS + + try // prevent leak if new throws + { + pn = new count_type(1); + } + catch(...) + { + boost::checked_delete(p); + throw; + } + +#else + + pn = new count_type(1); + + if(pn == 0) + { + boost::checked_delete(p); + boost::throw_exception(std::bad_alloc()); + } + +#endif + } + + ~shared_ptr() + { + if(--*pn == 0) + { + boost::checked_delete(px); + delete pn; + } + } + + shared_ptr(shared_ptr const & r): px(r.px) // never throws + { + pn = r.pn; + ++*pn; + } + + shared_ptr & operator=(shared_ptr const & r) + { + shared_ptr(r).swap(*this); + return *this; + } + +#ifndef BOOST_NO_AUTO_PTR + + explicit shared_ptr(std::auto_ptr & r) + { + pn = new count_type(1); // may throw + px = r.release(); // fix: moved here to stop leak if new throws + } + + shared_ptr & operator=(std::auto_ptr & r) + { + shared_ptr(r).swap(*this); + return *this; + } + +#endif + + void reset(T * p = 0) + { + BOOST_ASSERT(p == 0 || p != px); + shared_ptr(p).swap(*this); + } + + T & operator*() const // never throws + { + BOOST_ASSERT(px != 0); + return *px; + } + + T * operator->() const // never throws + { + BOOST_ASSERT(px != 0); + return px; + } + + T * get() const // never throws + { + return px; + } + + long use_count() const // never throws + { + return *pn; + } + + bool unique() const // never throws + { + return *pn == 1; + } + + void swap(shared_ptr & other) // never throws + { + std::swap(px, other.px); + std::swap(pn, other.pn); + } + +private: + + T * px; // contained pointer + count_type * pn; // ptr to reference counter +}; + +template inline bool operator==(shared_ptr const & a, shared_ptr const & b) +{ + return a.get() == b.get(); +} + +template inline bool operator!=(shared_ptr const & a, shared_ptr const & b) +{ + return a.get() != b.get(); +} + +template inline bool operator<(shared_ptr const & a, shared_ptr const & b) +{ + return std::less()(a.get(), b.get()); +} + +template void swap(shared_ptr & a, shared_ptr & b) +{ + a.swap(b); +} + +// get_pointer() enables boost::mem_fn to recognize shared_ptr + +template inline T * get_pointer(shared_ptr const & p) +{ + return p.get(); +} + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/sp_counted_base.hpp b/boost_1_33_1/boost/detail/sp_counted_base.hpp new file mode 100644 index 0000000..bc170ca --- /dev/null +++ b/boost_1_33_1/boost/detail/sp_counted_base.hpp @@ -0,0 +1,69 @@ +#ifndef BOOST_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED +#define BOOST_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/sp_counted_base.hpp +// +// Copyright 2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#include + +#if defined( BOOST_SP_DISABLE_THREADS ) + +# include + +#elif defined( BOOST_SP_USE_PTHREADS ) + +# include + +#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) ) + +# include + +//~ #elif defined( __MWERKS__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) ) + +//~ # include + +#elif defined( __GNUC__ ) && defined( __ia64__ ) && !defined( __INTEL_COMPILER ) + +# include + +#elif defined( __MWERKS__ ) && defined( __POWERPC__ ) + +# include + +#elif defined( __GNUC__ ) && ( defined( __powerpc__ ) || defined( __ppc__ ) ) + +# include + +#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) + +# include + +#elif !defined( BOOST_HAS_THREADS ) + +# include + +#elif defined( BOOST_HAS_PTHREADS ) + +# include + +#else + +// Use #define BOOST_DISABLE_THREADS to avoid the error +# error Unrecognized threading platform + +#endif + +#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/sp_counted_base_cw_ppc.hpp b/boost_1_33_1/boost/detail/sp_counted_base_cw_ppc.hpp new file mode 100644 index 0000000..c56a562 --- /dev/null +++ b/boost_1_33_1/boost/detail/sp_counted_base_cw_ppc.hpp @@ -0,0 +1,170 @@ +#ifndef BOOST_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED +#define BOOST_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/sp_counted_base_cw_ppc.hpp - CodeWarrior on PowerPC +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// Copyright 2004-2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// +// Lock-free algorithm by Alexander Terekhov +// +// Thanks to Ben Hitchings for the #weak + (#shared != 0) +// formulation +// + +#include + +namespace boost +{ + +namespace detail +{ + +inline void atomic_increment( register long * pw ) +{ + register int a; + + asm + { +loop: + + lwarx a, 0, pw + addi a, a, 1 + stwcx. a, 0, pw + bne- loop + } +} + +inline long atomic_decrement( register long * pw ) +{ + register int a; + + asm + { + sync + +loop: + + lwarx a, 0, pw + addi a, a, -1 + stwcx. a, 0, pw + bne- loop + + isync + } + + return a; +} + +inline long atomic_conditional_increment( register long * pw ) +{ + register int a; + + asm + { +loop: + + lwarx a, 0, pw + cmpwi a, 0 + beq store + + addi a, a, 1 + +store: + + stwcx. a, 0, pw + bne- loop + } + + return a; +} + +class sp_counted_base +{ +private: + + sp_counted_base( sp_counted_base const & ); + sp_counted_base & operator= ( sp_counted_base const & ); + + long use_count_; // #shared + long weak_count_; // #weak + (#shared != 0) + +public: + + sp_counted_base(): use_count_( 1 ), weak_count_( 1 ) + { + } + + virtual ~sp_counted_base() // nothrow + { + } + + // dispose() is called when use_count_ drops to zero, to release + // the resources managed by *this. + + virtual void dispose() = 0; // nothrow + + // destroy() is called when weak_count_ drops to zero. + + virtual void destroy() // nothrow + { + delete this; + } + + virtual void * get_deleter( std::type_info const & ti ) = 0; + + void add_ref_copy() + { + atomic_increment( &use_count_ ); + } + + bool add_ref_lock() // true on success + { + return atomic_conditional_increment( &use_count_ ) != 0; + } + + void release() // nothrow + { + if( atomic_decrement( &use_count_ ) == 0 ) + { + dispose(); + weak_release(); + } + } + + void weak_add_ref() // nothrow + { + atomic_increment( &weak_count_ ); + } + + void weak_release() // nothrow + { + if( atomic_decrement( &weak_count_ ) == 0 ) + { + destroy(); + } + } + + long use_count() const // nothrow + { + return static_cast( use_count_ ); + } +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/sp_counted_base_cw_x86.hpp b/boost_1_33_1/boost/detail/sp_counted_base_cw_x86.hpp new file mode 100644 index 0000000..63c9fa2 --- /dev/null +++ b/boost_1_33_1/boost/detail/sp_counted_base_cw_x86.hpp @@ -0,0 +1,158 @@ +#ifndef BOOST_DETAIL_SP_COUNTED_BASE_CW_X86_HPP_INCLUDED +#define BOOST_DETAIL_SP_COUNTED_BASE_CW_X86_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/sp_counted_base_cw_x86.hpp - CodeWarrion on 486+ +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// Copyright 2004-2005 Peter Dimov +// Copyright 2005 Rene Rivera +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// +// Lock-free algorithm by Alexander Terekhov +// +// Thanks to Ben Hitchings for the #weak + (#shared != 0) +// formulation +// + +#include + +namespace boost +{ + +namespace detail +{ + +inline int atomic_exchange_and_add( int * pw, int dv ) +{ + // int r = *pw; + // *pw += dv; + // return r; + + asm + { + mov esi, [pw] + mov eax, dv + lock xadd dword ptr [esi], eax + } +} + +inline void atomic_increment( int * pw ) +{ + //atomic_exchange_and_add( pw, 1 ); + + asm + { + mov esi, [pw] + lock inc dword ptr [esi] + } +} + +inline int atomic_conditional_increment( int * pw ) +{ + // int rv = *pw; + // if( rv != 0 ) ++*pw; + // return rv; + + asm + { + mov esi, [pw] + mov eax, dword ptr [esi] + L0: + test eax, eax + je L1 + mov ebx, eax + inc ebx + lock cmpxchg dword ptr [esi], ebx + jne L0 + L1: + } +} + +class sp_counted_base +{ +private: + + sp_counted_base( sp_counted_base const & ); + sp_counted_base & operator= ( sp_counted_base const & ); + + int use_count_; // #shared + int weak_count_; // #weak + (#shared != 0) + +public: + + sp_counted_base(): use_count_( 1 ), weak_count_( 1 ) + { + } + + virtual ~sp_counted_base() // nothrow + { + } + + // dispose() is called when use_count_ drops to zero, to release + // the resources managed by *this. + + virtual void dispose() = 0; // nothrow + + // destroy() is called when weak_count_ drops to zero. + + virtual void destroy() // nothrow + { + delete this; + } + + virtual void * get_deleter( std::type_info const & ti ) = 0; + + void add_ref_copy() + { + atomic_increment( &use_count_ ); + } + + bool add_ref_lock() // true on success + { + return atomic_conditional_increment( &use_count_ ) != 0; + } + + void release() // nothrow + { + if( atomic_exchange_and_add( &use_count_, -1 ) == 1 ) + { + dispose(); + weak_release(); + } + } + + void weak_add_ref() // nothrow + { + atomic_increment( &weak_count_ ); + } + + void weak_release() // nothrow + { + if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 ) + { + destroy(); + } + } + + long use_count() const // nothrow + { + return static_cast( use_count_ ); + } +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/sp_counted_base_gcc_ia64.hpp b/boost_1_33_1/boost/detail/sp_counted_base_gcc_ia64.hpp new file mode 100644 index 0000000..8016c8d --- /dev/null +++ b/boost_1_33_1/boost/detail/sp_counted_base_gcc_ia64.hpp @@ -0,0 +1,157 @@ +#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED +#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED + +// +// detail/sp_counted_base_gcc_ia64.hpp - g++ on IA64 +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// Copyright 2004-2005 Peter Dimov +// Copyright 2005 Ben Hutchings +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// +// Lock-free algorithm by Alexander Terekhov +// + +#include + +namespace boost +{ + +namespace detail +{ + +inline void atomic_increment( long * pw ) +{ + // ++*pw; + + long tmp; + + // No barrier is required here but fetchadd always has an acquire or + // release barrier associated with it. We choose release as it should be + // cheaper. + __asm__ ("fetchadd8.rel %0=[%2],1" : + "=r"(tmp), "=m"(*pw) : + "r"(pw)); +} + +inline long atomic_decrement( long * pw ) +{ + // return --*pw; + + long rv; + + __asm__ (" fetchadd8.rel %0=[%2],-1 ;; \n" + " cmp.eq p7,p0=1,%0 ;; \n" + "(p7) ld8.acq %0=[%2] " : + "=&r"(rv), "=m"(*pw) : + "r"(pw) : + "p7"); + + return rv; +} + +inline long atomic_conditional_increment( long * pw ) +{ + // if( *pw != 0 ) ++*pw; + // return *pw; + + long rv, tmp, tmp2; + + __asm__ ("0: ld8 %0=[%4] ;; \n" + " cmp.eq p7,p0=0,%0 ;; \n" + "(p7) br.cond.spnt 1f \n" + " mov ar.ccv=%0 \n" + " add %1=1,%0 ;; \n" + " cmpxchg8.acq %2=[%4],%1,ar.ccv ;; \n" + " cmp.ne p7,p0=%0,%2 ;; \n" + "(p7) br.cond.spnt 0b \n" + " mov %0=%1 ;; \n" + "1:" : + "=&r"(rv), "=&r"(tmp), "=&r"(tmp2), "=m"(*pw) : + "r"(pw) : + "ar.ccv", "p7"); + + return rv; +} + +class sp_counted_base +{ +private: + + sp_counted_base( sp_counted_base const & ); + sp_counted_base & operator= ( sp_counted_base const & ); + + long use_count_; // #shared + long weak_count_; // #weak + (#shared != 0) + +public: + + sp_counted_base(): use_count_( 1 ), weak_count_( 1 ) + { + } + + virtual ~sp_counted_base() // nothrow + { + } + + // dispose() is called when use_count_ drops to zero, to release + // the resources managed by *this. + + virtual void dispose() = 0; // nothrow + + // destroy() is called when weak_count_ drops to zero. + + virtual void destroy() // nothrow + { + delete this; + } + + virtual void * get_deleter( std::type_info const & ti ) = 0; + + void add_ref_copy() + { + atomic_increment( &use_count_ ); + } + + bool add_ref_lock() // true on success + { + return atomic_conditional_increment( &use_count_ ) != 0; + } + + void release() // nothrow + { + if( atomic_decrement( &use_count_ ) == 0 ) + { + dispose(); + weak_release(); + } + } + + void weak_add_ref() // nothrow + { + atomic_increment( &weak_count_ ); + } + + void weak_release() // nothrow + { + if( atomic_decrement( &weak_count_ ) == 0 ) + { + destroy(); + } + } + + long use_count() const // nothrow + { + return static_cast( use_count_ ); + } +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/sp_counted_base_gcc_ppc.hpp b/boost_1_33_1/boost/detail/sp_counted_base_gcc_ppc.hpp new file mode 100644 index 0000000..fc2925e --- /dev/null +++ b/boost_1_33_1/boost/detail/sp_counted_base_gcc_ppc.hpp @@ -0,0 +1,181 @@ +#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED +#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/sp_counted_base_gcc_ppc.hpp - g++ on PowerPC +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// Copyright 2004-2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// +// Lock-free algorithm by Alexander Terekhov +// +// Thanks to Ben Hitchings for the #weak + (#shared != 0) +// formulation +// + +#include + +namespace boost +{ + +namespace detail +{ + +inline void atomic_increment( int * pw ) +{ + // ++*pw; + + int tmp; + + __asm__ + ( + "0:\n\t" + "lwarx %1, 0, %2\n\t" + "addi %1, %1, 1\n\t" + "stwcx. %1, 0, %2\n\t" + "bne- 0b": + + "=m"( *pw ), "=&b"( tmp ): + "r"( pw ): + "cc" + ); +} + +inline int atomic_decrement( int * pw ) +{ + // return --*pw; + + int rv; + + __asm__ __volatile__ + ( + "sync\n\t" + "0:\n\t" + "lwarx %1, 0, %2\n\t" + "addi %1, %1, -1\n\t" + "stwcx. %1, 0, %2\n\t" + "bne- 0b\n\t" + "isync": + + "=m"( *pw ), "=&b"( rv ): + "r"( pw ): + "memory", "cc" + ); + + return rv; +} + +inline int atomic_conditional_increment( int * pw ) +{ + // if( *pw != 0 ) ++*pw; + // return *pw; + + int rv; + + __asm__ + ( + "0:\n\t" + "lwarx %1, 0, %2\n\t" + "cmpwi %1, 0\n\t" + "beq 1f\n\t" + "addi %1, %1, 1\n\t" + "1:\n\t" + "stwcx. %1, 0, %2\n\t" + "bne- 0b": + + "=m"( *pw ), "=&b"( rv ): + "r"( pw ): + "cc" + ); + + return rv; +} + +class sp_counted_base +{ +private: + + sp_counted_base( sp_counted_base const & ); + sp_counted_base & operator= ( sp_counted_base const & ); + + int use_count_; // #shared + int weak_count_; // #weak + (#shared != 0) + +public: + + sp_counted_base(): use_count_( 1 ), weak_count_( 1 ) + { + } + + virtual ~sp_counted_base() // nothrow + { + } + + // dispose() is called when use_count_ drops to zero, to release + // the resources managed by *this. + + virtual void dispose() = 0; // nothrow + + // destroy() is called when weak_count_ drops to zero. + + virtual void destroy() // nothrow + { + delete this; + } + + virtual void * get_deleter( std::type_info const & ti ) = 0; + + void add_ref_copy() + { + atomic_increment( &use_count_ ); + } + + bool add_ref_lock() // true on success + { + return atomic_conditional_increment( &use_count_ ) != 0; + } + + void release() // nothrow + { + if( atomic_decrement( &use_count_ ) == 0 ) + { + dispose(); + weak_release(); + } + } + + void weak_add_ref() // nothrow + { + atomic_increment( &weak_count_ ); + } + + void weak_release() // nothrow + { + if( atomic_decrement( &weak_count_ ) == 0 ) + { + destroy(); + } + } + + long use_count() const // nothrow + { + return static_cast( use_count_ ); + } +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/sp_counted_base_gcc_x86.hpp b/boost_1_33_1/boost/detail/sp_counted_base_gcc_x86.hpp new file mode 100644 index 0000000..0a8e189 --- /dev/null +++ b/boost_1_33_1/boost/detail/sp_counted_base_gcc_x86.hpp @@ -0,0 +1,173 @@ +#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED +#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/sp_counted_base_gcc_x86.hpp - g++ on 486+ or AMD64 +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// Copyright 2004-2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// +// Lock-free algorithm by Alexander Terekhov +// +// Thanks to Ben Hitchings for the #weak + (#shared != 0) +// formulation +// + +#include + +namespace boost +{ + +namespace detail +{ + +inline int atomic_exchange_and_add( int * pw, int dv ) +{ + // int r = *pw; + // *pw += dv; + // return r; + + int r; + + __asm__ __volatile__ + ( + "lock\n\t" + "xadd %1, %0": + "=m"( *pw ), "=r"( r ): // outputs (%0, %1) + "m"( *pw ), "1"( dv ): // inputs (%2, %3 == %1) + "memory", "cc" // clobbers + ); + + return r; +} + +inline void atomic_increment( int * pw ) +{ + //atomic_exchange_and_add( pw, 1 ); + + __asm__ + ( + "lock\n\t" + "incl %0": + "=m"( *pw ): // output (%0) + "m"( *pw ): // input (%1) + "cc" // clobbers + ); +} + +inline int atomic_conditional_increment( int * pw ) +{ + // int rv = *pw; + // if( rv != 0 ) ++*pw; + // return rv; + + int rv, tmp; + + __asm__ + ( + "movl %0, %%eax\n\t" + "0:\n\t" + "test %%eax, %%eax\n\t" + "je 1f\n\t" + "movl %%eax, %2\n\t" + "incl %2\n\t" + "lock\n\t" + "cmpxchgl %2, %0\n\t" + "jne 0b\n\t" + "1:": + "=m"( *pw ), "=&a"( rv ), "=&r"( tmp ): // outputs (%0, %1, %2) + "m"( *pw ): // input (%3) + "cc" // clobbers + ); + + return rv; +} + +class sp_counted_base +{ +private: + + sp_counted_base( sp_counted_base const & ); + sp_counted_base & operator= ( sp_counted_base const & ); + + int use_count_; // #shared + int weak_count_; // #weak + (#shared != 0) + +public: + + sp_counted_base(): use_count_( 1 ), weak_count_( 1 ) + { + } + + virtual ~sp_counted_base() // nothrow + { + } + + // dispose() is called when use_count_ drops to zero, to release + // the resources managed by *this. + + virtual void dispose() = 0; // nothrow + + // destroy() is called when weak_count_ drops to zero. + + virtual void destroy() // nothrow + { + delete this; + } + + virtual void * get_deleter( std::type_info const & ti ) = 0; + + void add_ref_copy() + { + atomic_increment( &use_count_ ); + } + + bool add_ref_lock() // true on success + { + return atomic_conditional_increment( &use_count_ ) != 0; + } + + void release() // nothrow + { + if( atomic_exchange_and_add( &use_count_, -1 ) == 1 ) + { + dispose(); + weak_release(); + } + } + + void weak_add_ref() // nothrow + { + atomic_increment( &weak_count_ ); + } + + void weak_release() // nothrow + { + if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 ) + { + destroy(); + } + } + + long use_count() const // nothrow + { + return static_cast( use_count_ ); + } +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/sp_counted_base_nt.hpp b/boost_1_33_1/boost/detail/sp_counted_base_nt.hpp new file mode 100644 index 0000000..4a4401d --- /dev/null +++ b/boost_1_33_1/boost/detail/sp_counted_base_nt.hpp @@ -0,0 +1,107 @@ +#ifndef BOOST_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED +#define BOOST_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/sp_counted_base_nt.hpp +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// Copyright 2004-2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#include + +namespace boost +{ + +namespace detail +{ + +class sp_counted_base +{ +private: + + sp_counted_base( sp_counted_base const & ); + sp_counted_base & operator= ( sp_counted_base const & ); + + long use_count_; // #shared + long weak_count_; // #weak + (#shared != 0) + +public: + + sp_counted_base(): use_count_( 1 ), weak_count_( 1 ) + { + } + + virtual ~sp_counted_base() // nothrow + { + } + + // dispose() is called when use_count_ drops to zero, to release + // the resources managed by *this. + + virtual void dispose() = 0; // nothrow + + // destroy() is called when weak_count_ drops to zero. + + virtual void destroy() // nothrow + { + delete this; + } + + virtual void * get_deleter( std::type_info const & ti ) = 0; + + void add_ref_copy() + { + ++use_count_; + } + + bool add_ref_lock() // true on success + { + if( use_count_ == 0 ) return false; + ++use_count_; + return true; + } + + void release() // nothrow + { + if( --use_count_ == 0 ) + { + dispose(); + weak_release(); + } + } + + void weak_add_ref() // nothrow + { + ++weak_count_; + } + + void weak_release() // nothrow + { + if( --weak_count_ == 0 ) + { + destroy(); + } + } + + long use_count() const // nothrow + { + return use_count_; + } +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/sp_counted_base_pt.hpp b/boost_1_33_1/boost/detail/sp_counted_base_pt.hpp new file mode 100644 index 0000000..191064f --- /dev/null +++ b/boost_1_33_1/boost/detail/sp_counted_base_pt.hpp @@ -0,0 +1,135 @@ +#ifndef BOOST_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED +#define BOOST_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/sp_counted_base_pt.hpp +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// Copyright 2004-2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#include +#include + +namespace boost +{ + +namespace detail +{ + +class sp_counted_base +{ +private: + + sp_counted_base( sp_counted_base const & ); + sp_counted_base & operator= ( sp_counted_base const & ); + + long use_count_; // #shared + long weak_count_; // #weak + (#shared != 0) + + mutable pthread_mutex_t m_; + +public: + + sp_counted_base(): use_count_( 1 ), weak_count_( 1 ) + { +// HPUX 10.20 / DCE has a nonstandard pthread_mutex_init + +#if defined(__hpux) && defined(_DECTHREADS_) + pthread_mutex_init( &m_, pthread_mutexattr_default ); +#else + pthread_mutex_init( &m_, 0 ); +#endif + } + + virtual ~sp_counted_base() // nothrow + { + pthread_mutex_destroy( &m_ ); + } + + // dispose() is called when use_count_ drops to zero, to release + // the resources managed by *this. + + virtual void dispose() = 0; // nothrow + + // destroy() is called when weak_count_ drops to zero. + + virtual void destroy() // nothrow + { + delete this; + } + + virtual void * get_deleter( std::type_info const & ti ) = 0; + + void add_ref_copy() + { + pthread_mutex_lock( &m_ ); + ++use_count_; + pthread_mutex_unlock( &m_ ); + } + + bool add_ref_lock() // true on success + { + pthread_mutex_lock( &m_ ); + bool r = use_count_ == 0? false: ( ++use_count_, true ); + pthread_mutex_unlock( &m_ ); + return r; + } + + void release() // nothrow + { + pthread_mutex_lock( &m_ ); + long new_use_count = --use_count_; + pthread_mutex_unlock( &m_ ); + + if( new_use_count == 0 ) + { + dispose(); + weak_release(); + } + } + + void weak_add_ref() // nothrow + { + pthread_mutex_lock( &m_ ); + ++weak_count_; + pthread_mutex_unlock( &m_ ); + } + + void weak_release() // nothrow + { + pthread_mutex_lock( &m_ ); + long new_weak_count = --weak_count_; + pthread_mutex_unlock( &m_ ); + + if( new_weak_count == 0 ) + { + destroy(); + } + } + + long use_count() const // nothrow + { + pthread_mutex_lock( &m_ ); + long r = use_count_; + pthread_mutex_unlock( &m_ ); + + return r; + } +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/sp_counted_base_w32.hpp b/boost_1_33_1/boost/detail/sp_counted_base_w32.hpp new file mode 100644 index 0000000..e84f06e --- /dev/null +++ b/boost_1_33_1/boost/detail/sp_counted_base_w32.hpp @@ -0,0 +1,117 @@ +#ifndef BOOST_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED +#define BOOST_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/sp_counted_base_w32.hpp +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// Copyright 2004-2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// +// Lock-free algorithm by Alexander Terekhov +// +// Thanks to Ben Hitchings for the #weak + (#shared != 0) +// formulation +// + +#include +#include + +namespace boost +{ + +namespace detail +{ + +class sp_counted_base +{ +private: + + sp_counted_base( sp_counted_base const & ); + sp_counted_base & operator= ( sp_counted_base const & ); + + long use_count_; // #shared + long weak_count_; // #weak + (#shared != 0) + +public: + + sp_counted_base(): use_count_( 1 ), weak_count_( 1 ) + { + } + + virtual ~sp_counted_base() // nothrow + { + } + + // dispose() is called when use_count_ drops to zero, to release + // the resources managed by *this. + + virtual void dispose() = 0; // nothrow + + // destroy() is called when weak_count_ drops to zero. + + virtual void destroy() // nothrow + { + delete this; + } + + virtual void * get_deleter( std::type_info const & ti ) = 0; + + void add_ref_copy() + { + BOOST_INTERLOCKED_INCREMENT( &use_count_ ); + } + + bool add_ref_lock() // true on success + { + for( ;; ) + { + long tmp = static_cast< long const volatile& >( use_count_ ); + if( tmp == 0 ) return false; + if( BOOST_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp + 1, tmp ) == tmp ) return true; + } + } + + void release() // nothrow + { + if( BOOST_INTERLOCKED_DECREMENT( &use_count_ ) == 0 ) + { + dispose(); + weak_release(); + } + } + + void weak_add_ref() // nothrow + { + BOOST_INTERLOCKED_INCREMENT( &weak_count_ ); + } + + void weak_release() // nothrow + { + if( BOOST_INTERLOCKED_DECREMENT( &weak_count_ ) == 0 ) + { + destroy(); + } + } + + long use_count() const // nothrow + { + return static_cast( use_count_ ); + } +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/sp_counted_impl.hpp b/boost_1_33_1/boost/detail/sp_counted_impl.hpp new file mode 100644 index 0000000..51093b5 --- /dev/null +++ b/boost_1_33_1/boost/detail/sp_counted_impl.hpp @@ -0,0 +1,187 @@ +#ifndef BOOST_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED +#define BOOST_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/sp_counted_impl.hpp +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// Copyright 2004-2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#include + +#if defined(BOOST_SP_USE_STD_ALLOCATOR) && defined(BOOST_SP_USE_QUICK_ALLOCATOR) +# error BOOST_SP_USE_STD_ALLOCATOR and BOOST_SP_USE_QUICK_ALLOCATOR are incompatible. +#endif + +#include +#include + +#if defined(BOOST_SP_USE_QUICK_ALLOCATOR) +#include +#endif + +#include // std::allocator +#include // std::type_info in get_deleter +#include // std::size_t + +namespace boost +{ + +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + +void sp_scalar_constructor_hook( void * px, std::size_t size, void * pn ); +void sp_scalar_destructor_hook( void * px, std::size_t size, void * pn ); + +#endif + +namespace detail +{ + +template class sp_counted_impl_p: public sp_counted_base +{ +private: + + X * px_; + + sp_counted_impl_p( sp_counted_impl_p const & ); + sp_counted_impl_p & operator= ( sp_counted_impl_p const & ); + + typedef sp_counted_impl_p this_type; + +public: + + explicit sp_counted_impl_p( X * px ): px_( px ) + { +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + boost::sp_scalar_constructor_hook( px, sizeof(X), this ); +#endif + } + + virtual void dispose() // nothrow + { +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + boost::sp_scalar_destructor_hook( px_, sizeof(X), this ); +#endif + boost::checked_delete( px_ ); + } + + virtual void * get_deleter( std::type_info const & ) + { + return 0; + } + +#if defined(BOOST_SP_USE_STD_ALLOCATOR) + + void * operator new( std::size_t ) + { + return std::allocator().allocate( 1, static_cast(0) ); + } + + void operator delete( void * p ) + { + std::allocator().deallocate( static_cast(p), 1 ); + } + +#endif + +#if defined(BOOST_SP_USE_QUICK_ALLOCATOR) + + void * operator new( std::size_t ) + { + return quick_allocator::alloc(); + } + + void operator delete( void * p ) + { + quick_allocator::dealloc( p ); + } + +#endif +}; + +// +// Borland's Codeguard trips up over the -Vx- option here: +// +#ifdef __CODEGUARD__ +# pragma option push -Vx- +#endif + +template class sp_counted_impl_pd: public sp_counted_base +{ +private: + + P ptr; // copy constructor must not throw + D del; // copy constructor must not throw + + sp_counted_impl_pd( sp_counted_impl_pd const & ); + sp_counted_impl_pd & operator= ( sp_counted_impl_pd const & ); + + typedef sp_counted_impl_pd this_type; + +public: + + // pre: d(p) must not throw + + sp_counted_impl_pd( P p, D d ): ptr(p), del(d) + { + } + + virtual void dispose() // nothrow + { + del( ptr ); + } + + virtual void * get_deleter( std::type_info const & ti ) + { + return ti == typeid(D)? &del: 0; + } + +#if defined(BOOST_SP_USE_STD_ALLOCATOR) + + void * operator new( std::size_t ) + { + return std::allocator().allocate( 1, static_cast(0) ); + } + + void operator delete( void * p ) + { + std::allocator().deallocate( static_cast(p), 1 ); + } + +#endif + +#if defined(BOOST_SP_USE_QUICK_ALLOCATOR) + + void * operator new( std::size_t ) + { + return quick_allocator::alloc(); + } + + void operator delete( void * p ) + { + quick_allocator::dealloc( p ); + } + +#endif +}; + +#ifdef __CODEGUARD__ +# pragma option pop +#endif + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED diff --git a/boost_1_33_1/boost/detail/templated_streams.hpp b/boost_1_33_1/boost/detail/templated_streams.hpp new file mode 100644 index 0000000..1fa6ee3 --- /dev/null +++ b/boost_1_33_1/boost/detail/templated_streams.hpp @@ -0,0 +1,74 @@ +//----------------------------------------------------------------------------- +// boost detail/templated_streams.hpp header file +// See http://www.boost.org for updates, documentation, and revision history. +//----------------------------------------------------------------------------- +// +// Copyright (c) 2003 +// Eric Friedman +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_DETAIL_TEMPLATED_STREAMS_HPP +#define BOOST_DETAIL_TEMPLATED_STREAMS_HPP + +#include "boost/config.hpp" + +/////////////////////////////////////////////////////////////////////////////// +// (detail) BOOST_TEMPLATED_STREAM_* macros +// +// Provides workaround platforms without stream class templates. +// + +#if !defined(BOOST_NO_STD_LOCALE) + +#define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) \ + template < typename E , typename T > + +#define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) \ + template < typename E , typename T , typename A > + +#define BOOST_TEMPLATED_STREAM_ARGS(E,T) \ + typename E , typename T + +#define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) \ + typename E , typename T , typename A + +#define BOOST_TEMPLATED_STREAM_COMMA , + +#define BOOST_TEMPLATED_STREAM_ELEM(E) E +#define BOOST_TEMPLATED_STREAM_TRAITS(T) T +#define BOOST_TEMPLATED_STREAM_ALLOC(A) A + +#define BOOST_TEMPLATED_STREAM(X,E,T) \ + BOOST_JOIN(std::basic_,X)< E , T > + +#define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \ + BOOST_JOIN(std::basic_,X)< E , T , A > + +#else // defined(BOOST_NO_STD_LOCALE) + +#define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) /**/ + +#define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) /**/ + +#define BOOST_TEMPLATED_STREAM_ARGS(E,T) /**/ + +#define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) /**/ + +#define BOOST_TEMPLATED_STREAM_COMMA /**/ + +#define BOOST_TEMPLATED_STREAM_ELEM(E) char +#define BOOST_TEMPLATED_STREAM_TRAITS(T) std::char_traits +#define BOOST_TEMPLATED_STREAM_ALLOC(A) std::allocator + +#define BOOST_TEMPLATED_STREAM(X,E,T) \ + std::X + +#define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \ + std::X + +#endif // BOOST_NO_STD_LOCALE + +#endif // BOOST_DETAIL_TEMPLATED_STREAMS_HPP diff --git a/boost_1_33_1/boost/detail/utf8_codecvt_facet.hpp b/boost_1_33_1/boost/detail/utf8_codecvt_facet.hpp new file mode 100644 index 0000000..97e6ddc --- /dev/null +++ b/boost_1_33_1/boost/detail/utf8_codecvt_facet.hpp @@ -0,0 +1,199 @@ +// Copyright 2001 Ronald Garcia, Indiana University (garcia@osl.iu.edu) +// Andrew Lumsdaine, Indiana University (lums@osl.iu.edu). Permission to copy, +// use, modify, sell and distribute this software is granted provided this +// copyright notice appears in all copies. This software is provided "as is" +// without express or implied warranty, and with no claim as to its suitability +// for any purpose. + +#ifndef BOOST_UTF8_CODECVT_FACET_HPP +#define BOOST_UTF8_CODECVT_FACET_HPP + +// MS compatible compilers support #pragma once +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 +// utf8_codecvt_facet.hpp + +// This header defines class utf8_codecvt_facet, derived fro +// std::codecvt, which can be used to convert utf8 data in +// files into wchar_t strings in the application. +// +// The header is NOT STANDALONE, and is not to be included by the USER. +// There are at least two libraries which want to use this functionality, and +// we want to avoid code duplication. It would be possible to create utf8 +// library, but: +// - this requires review process first +// - in the case, when linking the a library which uses utf8 +// (say 'program_options'), user should also link to the utf8 library. +// This seems inconvenient, and asking a user to link to an unrevieved +// library is strange. +// Until the above points are fixed, a library which wants to use utf8 must: +// - include this header from one of it's headers or sources +// - include the corresponding .cpp file from one of the sources +// - before including either file, the library must define +// - BOOST_UTF8_BEGIN_NAMESPACE to the namespace declaration that must be used +// - BOOST_UTF8_END_NAMESPACE to the code to close the previous namespace +// - declaration. +// - BOOST_UTF8_DECL -- to the code which must be used for all 'exportable' +// symbols. +// +// For example, program_options library might contain: +// #define BOOST_UTF8_BEGIN_NAMESPACE +// namespace boost { namespace program_options { +// #define BOOST_UTF8_END_NAMESPACE }} +// #define BOOST_UTF8_DECL BOOST_PROGRAM_OPTIONS_DECL +// #include "../../detail/utf8/utf8_codecvt.cpp" +// +// Essentially, each library will have its own copy of utf8 code, in +// different namespaces. + +// Note:(Robert Ramey). I have made the following alterations in the original +// code. +// a) Rendered utf8_codecvt with using templates +// b) Move longer functions outside class definition to prevent inlining +// and make code smaller +// c) added on a derived class to permit translation to/from current +// locale to utf8 + +// See http://www.boost.org for updates, documentation, and revision history. + +// archives stored as text - note these ar templated on the basic +// stream templates to accommodate wide (and other?) kind of characters +// +// note the fact that on libraries without wide characters, ostream is +// is not a specialization of basic_ostream which in fact is not defined +// in such cases. So we can't use basic_ostream but rather +// use two template parameters +// +// utf8_codecvt_facet +// This is an implementation of a std::codecvt facet for translating +// from UTF-8 externally to UCS-4. Note that this is not tied to +// any specific types in order to allow customization on platforms +// where wchar_t is not big enough. +// +// NOTES: The current implementation jumps through some unpleasant hoops in +// order to deal with signed character types. As a std::codecvt_base::result, +// it is necessary for the ExternType to be convertible to unsigned char. +// I chose not to tie the extern_type explicitly to char. But if any combination +// of types other than is used, then std::codecvt must be +// specialized on those types for this to work. + +#include +// for mbstate_t +#include +// for std::size_t +#include + +#include +#include + +namespace std { + #if defined(__LIBCOMO__) + using ::mbstate_t; + #elif defined(BOOST_DINKUMWARE_STDLIB) + using ::mbstate_t; + #elif defined(__SGI_STL_PORT) + #elif defined(BOOST_NO_STDC_NAMESPACE) + using ::mbstate_t; + using ::codecvt; + #endif +} // namespace std + +#if !defined(__MSL_CPP__) && !defined(__LIBCOMO__) + #define BOOST_CODECVT_DO_LENGTH_CONST const +#else + #define BOOST_CODECVT_DO_LENGTH_CONST +#endif + +// maximum lenght of a multibyte string +#define MB_LENGTH_MAX 8 + +BOOST_UTF8_BEGIN_NAMESPACE + +struct BOOST_UTF8_DECL utf8_codecvt_facet : + public std::codecvt +{ +public: + explicit utf8_codecvt_facet(std::size_t no_locale_manage=0) + : std::codecvt(no_locale_manage) + {} +protected: + virtual std::codecvt_base::result do_in( + std::mbstate_t& state, + const char * from, + const char * from_end, + const char * & from_next, + wchar_t * to, + wchar_t * to_end, + wchar_t*& to_next + ) const; + + virtual std::codecvt_base::result do_out( + std::mbstate_t & state, const wchar_t * from, + const wchar_t * from_end, const wchar_t* & from_next, + char * to, char * to_end, char * & to_next + ) const; + + bool invalid_continuing_octet(unsigned char octet_1) const { + return (octet_1 < 0x80|| 0xbf< octet_1); + } + + bool invalid_leading_octet(unsigned char octet_1) const { + return (0x7f < octet_1 && octet_1 < 0xc0) || + (octet_1 > 0xfd); + } + + // continuing octets = octets except for the leading octet + static unsigned int get_cont_octet_count(unsigned char lead_octet) { + return get_octet_count(lead_octet) - 1; + } + + static unsigned int get_octet_count(unsigned char lead_octet); + + // How many "continuing octets" will be needed for this word + // == total octets - 1. + int get_cont_octet_out_count(wchar_t word) const ; + + virtual bool do_always_noconv() const throw() { return false; } + + // UTF-8 isn't really stateful since we rewind on partial conversions + virtual std::codecvt_base::result do_unshift( + std::mbstate_t&, + char * from, + char * to, + char * & next + ) const + { + next = from; + return ok; + } + + virtual int do_encoding() const throw() { + const int variable_byte_external_encoding=0; + return variable_byte_external_encoding; + } + + // How many char objects can I process to get <= max_limit + // wchar_t objects? + virtual int do_length( + BOOST_CODECVT_DO_LENGTH_CONST std::mbstate_t &, + const char * from, + const char * from_end, + std::size_t max_limit +#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) + ) const throw(); +#else + ) const; +#endif + + // Largest possible value do_length(state,from,from_end,1) could return. + virtual int do_max_length() const throw () { + return 6; // largest UTF-8 encoding of a UCS-4 character + } +}; + +BOOST_UTF8_END_NAMESPACE + +#endif // BOOST_UTF8_CODECVT_FACET_HPP diff --git a/boost_1_33_1/boost/detail/workaround.hpp b/boost_1_33_1/boost/detail/workaround.hpp new file mode 100644 index 0000000..b5ecad7 --- /dev/null +++ b/boost_1_33_1/boost/detail/workaround.hpp @@ -0,0 +1,73 @@ +// Copyright David Abrahams 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef WORKAROUND_DWA2002126_HPP +# define WORKAROUND_DWA2002126_HPP + +// Compiler/library version workaround macro +// +// Usage: +// +// #if BOOST_WORKAROUND(BOOST_MSVC, <= 1200) +// ... // workaround code here +// #endif +// +// When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the +// first argument must be undefined or expand to a numeric +// value. The above expands to: +// +// (BOOST_MSVC) != 0 && (BOOST_MSVC) <= 1200 +// +// When used for workarounds that apply to the latest known version +// and all earlier versions of a compiler, the following convention +// should be observed: +// +// #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301)) +// +// The version number in this case corresponds to the last version in +// which the workaround was known to have been required. When +// BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro +// BOOST_TESTED_AT(x) expands to "!= 0", which effectively activates +// the workaround for any version of the compiler. When +// BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or +// error will be issued if the compiler version exceeds the argument +// to BOOST_TESTED_AT(). This can be used to locate workarounds which +// may be obsoleted by newer versions. + +# ifndef BOOST_STRICT_CONFIG + +# define BOOST_WORKAROUND(symbol, test) \ + ((symbol != 0) && (1 % (( (symbol test) ) + 1))) +// ^ ^ ^ ^ +// The extra level of parenthesis nesting above, along with the +// BOOST_OPEN_PAREN indirection below, is required to satisfy the +// broken preprocessor in MWCW 8.3 and earlier. +// +// The basic mechanism works as follows: +// (symbol test) + 1 => if (symbol test) then 2 else 1 +// 1 % ((symbol test) + 1) => if (symbol test) then 1 else 0 +// +// The complication with % is for cooperation with BOOST_TESTED_AT(). +// When "test" is BOOST_TESTED_AT(x) and +// BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined, +// +// symbol test => if (symbol <= x) then 1 else -1 +// (symbol test) + 1 => if (symbol <= x) then 2 else 0 +// 1 % ((symbol test) + 1) => if (symbol <= x) then 1 else divide-by-zero +// + +# ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS +# define BOOST_OPEN_PAREN ( +# define BOOST_TESTED_AT(value) > value) ?(-1): BOOST_OPEN_PAREN 1 +# else +# define BOOST_TESTED_AT(value) != ((value)-(value)) +# endif + +# else + +# define BOOST_WORKAROUND(symbol, test) 0 + +# endif + +#endif // WORKAROUND_DWA2002126_HPP diff --git a/boost_1_33_1/boost/static_assert.hpp b/boost_1_33_1/boost/static_assert.hpp new file mode 100644 index 0000000..9d24c05 --- /dev/null +++ b/boost_1_33_1/boost/static_assert.hpp @@ -0,0 +1,118 @@ +// (C) Copyright John Maddock 2000. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/static_assert for documentation. + +/* + Revision history: + 02 August 2000 + Initial version. +*/ + +#ifndef BOOST_STATIC_ASSERT_HPP +#define BOOST_STATIC_ASSERT_HPP + +#include +#include + +#ifdef __BORLANDC__ +// +// workaround for buggy integral-constant expression support: +#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS +#endif + +#if defined(__GNUC__) && (__GNUC__ == 3) && ((__GNUC_MINOR__ == 3) || (__GNUC_MINOR__ == 4)) +// gcc 3.3 and 3.4 don't produce good error messages with the default version: +# define BOOST_SA_GCC_WORKAROUND +#endif + +namespace boost{ + +// HP aCC cannot deal with missing names for template value parameters +template struct STATIC_ASSERTION_FAILURE; + +template <> struct STATIC_ASSERTION_FAILURE { enum { value = 1 }; }; + +// HP aCC cannot deal with missing names for template value parameters +template struct static_assert_test{}; + +} + +// +// Implicit instantiation requires that all member declarations be +// instantiated, but that the definitions are *not* instantiated. +// +// It's not particularly clear how this applies to enum's or typedefs; +// both are described as declarations [7.1.3] and [7.2] in the standard, +// however some compilers use "delayed evaluation" of one or more of +// these when implicitly instantiating templates. We use typedef declarations +// by default, but try defining BOOST_USE_ENUM_STATIC_ASSERT if the enum +// version gets better results from your compiler... +// +// Implementation: +// Both of these versions rely on sizeof(incomplete_type) generating an error +// message containing the name of the incomplete type. We use +// "STATIC_ASSERTION_FAILURE" as the type name here to generate +// an eye catching error message. The result of the sizeof expression is either +// used as an enum initialiser, or as a template argument depending which version +// is in use... +// Note that the argument to the assert is explicitly cast to bool using old- +// style casts: too many compilers currently have problems with static_cast +// when used inside integral constant expressions. +// +#if !defined(BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS) + +#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300) +// __LINE__ macro broken when -ZI is used see Q199057 +// fortunately MSVC ignores duplicate typedef's. +#define BOOST_STATIC_ASSERT( B ) \ + typedef ::boost::static_assert_test<\ + sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >)\ + > boost_static_assert_typedef_ +#elif defined(BOOST_MSVC) +#define BOOST_STATIC_ASSERT( B ) \ + typedef ::boost::static_assert_test<\ + sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >)>\ + BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__) +#elif defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND) +// agurt 15/sep/02: a special care is needed to force Intel C++ issue an error +// instead of warning in case of failure +# define BOOST_STATIC_ASSERT( B ) \ + typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \ + [ ::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >::value ] +#elif defined(__sgi) +// special version for SGI MIPSpro compiler +#define BOOST_STATIC_ASSERT( B ) \ + BOOST_STATIC_CONSTANT(bool, \ + BOOST_JOIN(boost_static_assert_test_, __LINE__) = ( B )); \ + typedef ::boost::static_assert_test<\ + sizeof(::boost::STATIC_ASSERTION_FAILURE< \ + BOOST_JOIN(boost_static_assert_test_, __LINE__) >)>\ + BOOST_JOIN(boost_static_assert_typedef_, __LINE__) +#elif BOOST_WORKAROUND(__MWERKS__, <= 0x3003) +// special version for CodeWarrior <= 8.x +#define BOOST_STATIC_ASSERT( B ) \ + BOOST_STATIC_CONSTANT(int, \ + BOOST_JOIN(boost_static_assert_test_, __LINE__) = \ + sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >) ) +#else +// generic version +#define BOOST_STATIC_ASSERT( B ) \ + typedef ::boost::static_assert_test<\ + sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >)>\ + BOOST_JOIN(boost_static_assert_typedef_, __LINE__) +#endif + +#else +// alternative enum based implementation: +#define BOOST_STATIC_ASSERT( B ) \ + enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \ + = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >) } +#endif + + +#endif // BOOST_STATIC_ASSERT_HPP + + diff --git a/boost_1_33_1/boost/static_warning.hpp b/boost_1_33_1/boost/static_warning.hpp new file mode 100644 index 0000000..24a662a --- /dev/null +++ b/boost_1_33_1/boost/static_warning.hpp @@ -0,0 +1,180 @@ +#ifndef BOOST_STATIC_WARNING_HPP +#define BOOST_STATIC_WARNING_HPP + +// (C) Copyright Robert Ramey 2003. Jonathan Turkanis 2004. +// Use, modification and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// MS compatible compilers support #pragma once +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/static_assert for documentation. + +/* + Revision history: + 15 June 2003 - Initial version. + 31 March 2004 - improved diagnostic messages and portability + (Jonathan Turkanis) + 03 April 2004 - works on VC6 at class and namespace scope + - ported to DigitalMars + - static warnings disabled by default; when enabled, + uses pragmas to enable required compiler warnings + on MSVC, Intel, Metrowerks and Borland 5.x. + (Jonathan Turkanis) + 30 May 2004 - tweaked for msvc 7.1 and gcc 3.3 + - static warnings ENabled by default; when enabled, + (Robert Ramey) +*/ + +#include + +// +// Implementation +// Makes use of the following warnings: +// 1. GCC prior to 3.3: division by zero. +// 2. BCC 6.0 preview: unreferenced local variable. +// 3. DigitalMars: returning address of local automatic variable. +// 4. VC6: class previously seen as struct (as in 'boost/mpl/print.hpp') +// 5. All others: deletion of pointer to incomplete type. +// +// The trick is to find code which produces warnings containing the name of +// a structure or variable. Details, with same numbering as above: +// 1. static_warning_impl::value is zero iff B is false, so diving an int +// by this value generates a warning iff B is false. +// 2. static_warning_impl::type has a constructor iff B is true, so an +// unreferenced variable of this type generates a warning iff B is false. +// 3. static_warning_impl::type overloads operator& to return a dynamically +// allocated int pointer only is B is true, so returning the address of an +// automatic variable of this type generates a warning iff B is fasle. +// 4. static_warning_impl::STATIC_WARNING is decalred as a struct iff B is +// false. +// 5. static_warning_impl::type is incomplete iff B is false, so deleting a +// pointer to this type generates a warning iff B is false. +// + +//------------------Enable selected warnings----------------------------------// + +// Enable the warnings relied on by BOOST_STATIC_WARNING, where possible. The +// only pragma which is absolutely necessary here is for Borland 5.x, since +// W8073 is disabled by default. If enabling selected warnings is considered +// unacceptable, this section can be replaced with: +// #if defined(__BORLANDC__) && (__BORLANDC__ <= 0x600) +// pragma warn +stu +// #endif + +# if defined(BOOST_MSVC) +# pragma warning(2:4150) // C4150: deletion of pointer to incomplete type 'type'. +# elif defined(BOOST_INTEL) && (defined(__WIN32__) || defined(WIN32)) +# pragma warning(2:457) // #457: delete of pointer to incomplete class. +# elif defined(__BORLANDC__) && (__BORLANDC__ <= 0x600) +# pragma warn +stu // W8073: Undefined structure 'structure'. +# elif defined(__MWERKS__) +# pragma extended_errorcheck on // Enable 'extended error checking'. +# endif + +//------------------Configure-------------------------------------------------// + +# if defined(__BORLANDC__) && (__BORLANDC__ >= 0x600) +# define BOOST_HAS_DESCRIPTIVE_UNREFERENCED_VARIABLE_WARNING +# elif defined(__GNUC__) && !defined(BOOST_INTEL) // && (__GNUC__ * 100 + __GNUC_MINOR__ <= 302) +# define BOOST_HAS_DESCRIPTIVE_DIVIDE_BY_ZERO_WARNING +# elif defined(__DMC__) +# define BOOST_HAS_DESCRIPTIVE_RETURNING_ADDRESS_OF_TEMPORARY_WARNING +# elif defined(BOOST_MSVC) // && (BOOST_MSVC < 1300) +# define BOOST_NO_PREDEFINED_LINE_MACRO +# pragma warning(disable:4094) // C4094: untagged 'stuct' declared no symbols +#endif + +//------------------Helper templates------------------------------------------// + +namespace boost { + +struct STATIC_WARNING; + +template +struct static_warning_impl; + +template<> +struct static_warning_impl { + enum { value = 0 }; + #if !defined(BOOST_HAS_DESCRIPTIVE_UNREFERENCED_VARIABLE_WARNING) && \ + !defined(BOOST_HAS_DESCRIPTIVE_RETURNING_ADDRESS_OF_TEMPORARY_WARNING) + typedef boost::STATIC_WARNING type; + #else + typedef int type; + #endif + #if defined(BOOST_NO_PREDEFINED_LINE_MACRO) + struct STATIC_WARNING { }; + #endif +}; + +template<> +struct static_warning_impl { + enum { value = 1 }; + struct type { type() { } int* operator&() { return new int; } }; + #if defined(BOOST_NO_PREDEFINED_LINE_MACRO) + class STATIC_WARNING { }; + #endif +}; + +} // namespace boost + +//------------------Definition of BOOST_STATIC_WARNING------------------------// + +#if defined(BOOST_HAS_DESCRIPTIVE_UNREFERENCED_VARIABLE_WARNING) +# define BOOST_STATIC_WARNING_IMPL(B) \ + struct BOOST_JOIN(STATIC_WARNING, __LINE__) { \ + void f() { \ + ::boost::static_warning_impl<(bool)( B )>::type \ + STATIC_WARNING; \ + } \ + } \ + /**/ +#elif defined(BOOST_HAS_DESCRIPTIVE_RETURNING_ADDRESS_OF_TEMPORARY_WARNING) +# define BOOST_STATIC_WARNING_IMPL(B) \ + struct BOOST_JOIN(STATIC_WARNING, __LINE__) { \ + int* f() { \ + ::boost::static_warning_impl<(bool)( B )>::type \ + STATIC_WARNING; \ + return &STATIC_WARNING; \ + } \ + } \ + /**/ +#elif defined(BOOST_HAS_DESCRIPTIVE_DIVIDE_BY_ZERO_WARNING) +# define BOOST_STATIC_WARNING_IMPL(B) \ + struct BOOST_JOIN(STATIC_WARNING, __LINE__) { \ + int f() { int STATIC_WARNING = 1; \ + return STATIC_WARNING / \ + boost::static_warning_impl<(bool)( B )>::value; } \ + } \ + /**/ +#elif defined(BOOST_NO_PREDEFINED_LINE_MACRO) + // VC6; __LINE__ macro broken when -ZI is used see Q199057, so + // non-conforming workaround is used. +# define BOOST_STATIC_WARNING_IMPL(B) \ + struct { \ + struct S { \ + typedef boost::static_warning_impl<(bool)( B )> f; \ + friend class f::STATIC_WARNING; \ + }; \ + } \ + /**/ +#else // Deletion of pointer to incomplete type. +# define BOOST_STATIC_WARNING_IMPL(B) \ + struct BOOST_JOIN(STATIC_WARNING, __LINE__) { \ + ::boost::static_warning_impl<(bool)( B )>::type* p; \ + void f() { delete p; } \ + } \ + /**/ +#endif + +#ifndef BOOST_DISABLE_STATIC_WARNINGS +# define BOOST_STATIC_WARNING(B) BOOST_STATIC_WARNING_IMPL(B) +#else // #ifdef BOOST_ENABLE_STATIC_WARNINGS //-------------------------------// +# define BOOST_STATIC_WARNING(B) BOOST_STATIC_WARNING_IMPL(true) +#endif + +#endif // BOOST_STATIC_WARNING_HPP diff --git a/libfixed/Makefile b/libfixed/Makefile new file mode 100644 index 0000000..cef339c --- /dev/null +++ b/libfixed/Makefile @@ -0,0 +1,12 @@ +CXXFLAGS += -Wall -I. -Itest -Isrc -O3 -fomit-frame-pointer -ffast-math -fno-exceptions -DFIXEDNUM_TEST + +OBJS = src/fixed.o src/fixed_table.o src/mt19937ar.o test/test.o + +all: $(OBJS) + gcc -o fixed-test $(OBJS) -lm + +run: + ./fixed-test + +clean: + rm -f src/*.o test/*.o fixed-test diff --git a/libfixed/generator/Makefile b/libfixed/generator/Makefile new file mode 100644 index 0000000..4cf4ae5 --- /dev/null +++ b/libfixed/generator/Makefile @@ -0,0 +1,8 @@ +CXXFLAGS += -I. -I../src -O3 -fomit-frame-pointer -ffast-math -fno-exceptions + +all: make-table.o + gcc -o make-table make-table.o -lm + ./make-table > ../src/fixed_table.cpp + +clean: + rm -f *.o diff --git a/libfixed/generator/make-table b/libfixed/generator/make-table new file mode 100755 index 0000000..19fa093 Binary files /dev/null and b/libfixed/generator/make-table differ diff --git a/libfixed/generator/make-table.cpp b/libfixed/generator/make-table.cpp new file mode 100644 index 0000000..6132db4 --- /dev/null +++ b/libfixed/generator/make-table.cpp @@ -0,0 +1,30 @@ +#include +#include +#include +#define FIXEDNUM_TEST +#include "fixed.hpp" + +const fixednum fixedTableSin[] = {}; +const fixednum fixedTableAtan[] = {}; + +int +main() +{ + printf("/* This code is generated by make-table.rb. */\n\n"); + printf("#include \"fixed.hpp\"\n\n"); + printf("const fixednum fixedTableSin[] = {\n"); + for (int i = 0; i < FixedPointNum::ANGLENUM; ++i) { + printf("/* %3d: */ ", i); + printf("%d,\n", static_cast(sin((2 * M_PI * i) / FixedPointNum::ANGLENUM) * (1 << FixedPointNum::SHIFTBIT))); + } + printf("};\n"); + + printf("const fixednum fixedTableAtan[] = {\n"); + for (int i = 0; i < (1 << FixedPointNum::ATANBIT) + 1; ++i) { + printf("/* %3d: */ ", i); + printf("%d,\n", static_cast( + atan2(i, (1 << FixedPointNum::ATANBIT)) * (static_cast(FixedPointNum::ANGLENUM) / 2 / M_PI) + * (1 << FixedPointNum::SHIFTBIT))); + } + printf("};\n"); +} diff --git a/libfixed/generator/make-table.o b/libfixed/generator/make-table.o new file mode 100644 index 0000000..48b9510 Binary files /dev/null and b/libfixed/generator/make-table.o differ diff --git a/libfixed/src/fixed.cpp b/libfixed/src/fixed.cpp new file mode 100644 index 0000000..be3bd19 --- /dev/null +++ b/libfixed/src/fixed.cpp @@ -0,0 +1,43 @@ +#include +#include "fixed.hpp" + +FixedPointNum +FixedPointNum::atan(FixedPointNum fy, FixedPointNum fx) +{ + int x = fx.toInt(); + int y = fy.toInt(); + + if ((x | y) == 0) { + return FixedPointNum(0); + } + + if (y >= 0) { + if (x >= 0) { + if (x > y) { + return FixedPointNum(_FixedNum(fixedTableAtan[Div(y << ATANBIT, x)])); + } else { + return FixedPointNum(ANGLENUM / 4) - FixedPointNum(_FixedNum(fixedTableAtan[Div(x << ATANBIT, y)])); + } + } else { + if (y > -x) { + return FixedPointNum(ANGLENUM / 4) + FixedPointNum(_FixedNum(fixedTableAtan[Div(-x << ATANBIT, y)])); + } else { + return FixedPointNum(ANGLENUM / 2) - FixedPointNum(_FixedNum(fixedTableAtan[Div(y << ATANBIT, -x)])); + } + } + } else { + if (x <= 0) { + if (-x > -y) { + return FixedPointNum(ANGLENUM / 2) + FixedPointNum(_FixedNum(fixedTableAtan[Div(-y << ATANBIT, -x)])); + } else { + return FixedPointNum(ANGLENUM - ANGLENUM / 4) - FixedPointNum(_FixedNum(fixedTableAtan[Div(-x << ATANBIT, -y)])); + } + } else { + if (-y > x) { + return FixedPointNum(ANGLENUM - ANGLENUM / 4) + FixedPointNum(_FixedNum(fixedTableAtan[Div(x << ATANBIT, -y)])); + } else { + return FixedPointNum(ANGLENUM) - FixedPointNum(_FixedNum(fixedTableAtan[Div(-y << ATANBIT, x)])); + } + } + } +} diff --git a/libfixed/src/fixed.hpp b/libfixed/src/fixed.hpp new file mode 100644 index 0000000..8f1609f --- /dev/null +++ b/libfixed/src/fixed.hpp @@ -0,0 +1,162 @@ +#ifndef FIXED_HPP +#define FIXED_HPP + +#ifdef FIXEDNUM_TEST +#define Div(X,Y) ((X) / (Y)) +#else +#include +#endif + +/* + [about fixed-point] + + - signed 16bit. (because multiple operator need twice-length bit. Using 32bit at multiple operator). + + range: -255 ... 255. + + - integer bit = 9, decimal bit = 7. + + - 0123456789012345 + iiiiiiiiiddddddd + + --------------- + i: integer bit, + d: decimal bit + --------------- + + */ + +typedef signed short int fixednum; +typedef signed int _fixednum_double; // Use in fixed_multiply + +extern const fixednum fixedTableSin[]; +extern const fixednum fixedTableAtan[]; + +unsigned long genrand_int32(void); +long genrand_int31(void); +void init_genrand(unsigned long s); + +// ------------------------------------------------------------ +class _FixedNum +{ +public: + explicit _FixedNum(fixednum _value) : value(_value) {} + fixednum value; +}; +// ------------------------------------------------------------ + +class FixedPointNum +{ +public: + enum { + FIXEDNUMBIT = 16, + + SHIFTBIT = 7, // for Vulkanon. + //SHIFTBIT = 6, + + ANGLEBIT = 8, + ANGLENUM = (1 << ANGLEBIT), + ATANBIT = 8, + }; + + FixedPointNum(void) {} + FixedPointNum(double val) : value(static_cast(val * (1 << SHIFTBIT))) {} + FixedPointNum(int val) : value(val << SHIFTBIT) {}; + FixedPointNum(FixedPointNum numerator, int denominator) { + numerator /= denominator; + value = numerator.getRawValue(); + } + FixedPointNum(_FixedNum val) : value(val.value) {} + + FixedPointNum &operator+=(FixedPointNum fp) {this->value += fp.value; return *this;} + const FixedPointNum operator+(FixedPointNum fp) const {return FixedPointNum(*this) += fp;} + + FixedPointNum &operator-=(FixedPointNum fp) {this->value -= fp.value; return *this;} + const FixedPointNum operator-(FixedPointNum fp) const {return FixedPointNum(*this) -= fp;} + + FixedPointNum &operator*=(FixedPointNum fp) {this->value = multiply(this->value, fp.value); return *this;} + const FixedPointNum operator*(FixedPointNum fp) const {return FixedPointNum(*this) *= fp;} + + FixedPointNum &operator/=(FixedPointNum fp) {this->value = divide(this->value, fp.value); return *this;} + const FixedPointNum operator/(FixedPointNum fp) const {return FixedPointNum(*this) /= fp;} + + FixedPointNum &operator>>=(int val) {this->value >>= val; return *this;} + const FixedPointNum operator>>(int val) const {return FixedPointNum(*this) >>= val;} + + bool operator==(FixedPointNum fp) const {return this->value == fp.value;} + bool operator==(int val) const {return this->value == (val << SHIFTBIT);} + bool operator!=(FixedPointNum fp) const {return this->value != fp.value;} + bool operator!=(int val) const {return this->value != (val << SHIFTBIT);} + bool operator<(FixedPointNum fp) const {return this->value < fp.value;} + bool operator<(int val) const {return this->value < (val << SHIFTBIT);} + bool operator>(FixedPointNum fp) const {return this->value > fp.value;} + bool operator>(int val) const {return this->value > (val << SHIFTBIT);} + bool operator<=(FixedPointNum fp) const {return this->value <= fp.value;} + bool operator<=(int val) const {return this->value <= (val << SHIFTBIT);} + bool operator>=(FixedPointNum fp) const {return this->value >= fp.value;} + bool operator>=(int val) const {return this->value >= (val << SHIFTBIT);} + + fixednum getRawValue(void) const {return this->value;} + int toInt() const {return this->value >> SHIFTBIT;} +#if 0 + // comment out to prevent implicit type convertion. + operator int() const {return toInt();} +#endif + + const FixedPointNum &setNegative(void) {this->value = -(this->value); return *this;} + const FixedPointNum operator-(void) const {return FixedPointNum(*this).setNegative();} + + // ------------------------------------------------------------ + static FixedPointNum random() {return FixedPointNum(static_cast<_FixedNum>(genrand_int32() & ((1 << SHIFTBIT) - 1)));} + + static FixedPointNum sin(FixedPointNum angle) { + return FixedPointNum(_FixedNum(fixedTableSin[angle.toInt() & (ANGLENUM - 1)])); + } + static FixedPointNum cos(FixedPointNum angle) { + return FixedPointNum(_FixedNum(fixedTableSin[(angle.toInt() + ANGLENUM / 4) & (ANGLENUM - 1)])); + } + static FixedPointNum atan(FixedPointNum y, FixedPointNum x); + + static FixedPointNum degree2angle(FixedPointNum angle) { + return angle * _FixedNum(FixedPointNum::divide_const()); + } + static FixedPointNum degree2angle(double angle) { + return FixedPointNum(angle * 256 / 360); + } + +private: + fixednum multiply(fixednum fn1, fixednum fn2) const { + return static_cast<_fixednum_double>(fn1 * fn2) >> SHIFTBIT; + } + + fixednum divide(fixednum fn1, fixednum fn2) const { + if ((fn1 == 0) | (fn2 == 0)) { + return 0; + } + + fixednum val = Div(static_cast<_fixednum_double>(fn1 << SHIFTBIT), fn2); + if (val == 0) { + if (fn1 * fn2 > 0) { + val = 1; + } else { + val = -1; + } + } + return val; + } + + template static fixednum divide_const(void) { + if (fn1 == 0 || fn2 == 0) { + return 0; + } + return static_cast<_fixednum_double>(fn1 << SHIFTBIT) / fn2; + } + + fixednum value; +}; + +inline const FixedPointNum operator+(double val, FixedPointNum fp) {return fp + val;} +inline const FixedPointNum operator-(double val, FixedPointNum fp) {return - fp + val;} +inline const FixedPointNum operator*(double val, FixedPointNum fp) {return fp * val;} + +#endif diff --git a/libfixed/src/fixed_table.cpp b/libfixed/src/fixed_table.cpp new file mode 100644 index 0000000..e111132 --- /dev/null +++ b/libfixed/src/fixed_table.cpp @@ -0,0 +1,521 @@ +/* This code is generated by make-table.rb. */ + +#include "fixed.hpp" + +const fixednum fixedTableSin[] = { +/* 0: */ 0, +/* 1: */ 3, +/* 2: */ 6, +/* 3: */ 9, +/* 4: */ 12, +/* 5: */ 15, +/* 6: */ 18, +/* 7: */ 21, +/* 8: */ 24, +/* 9: */ 28, +/* 10: */ 31, +/* 11: */ 34, +/* 12: */ 37, +/* 13: */ 40, +/* 14: */ 43, +/* 15: */ 46, +/* 16: */ 48, +/* 17: */ 51, +/* 18: */ 54, +/* 19: */ 57, +/* 20: */ 60, +/* 21: */ 63, +/* 22: */ 65, +/* 23: */ 68, +/* 24: */ 71, +/* 25: */ 73, +/* 26: */ 76, +/* 27: */ 78, +/* 28: */ 81, +/* 29: */ 83, +/* 30: */ 85, +/* 31: */ 88, +/* 32: */ 90, +/* 33: */ 92, +/* 34: */ 94, +/* 35: */ 96, +/* 36: */ 98, +/* 37: */ 100, +/* 38: */ 102, +/* 39: */ 104, +/* 40: */ 106, +/* 41: */ 108, +/* 42: */ 109, +/* 43: */ 111, +/* 44: */ 112, +/* 45: */ 114, +/* 46: */ 115, +/* 47: */ 117, +/* 48: */ 118, +/* 49: */ 119, +/* 50: */ 120, +/* 51: */ 121, +/* 52: */ 122, +/* 53: */ 123, +/* 54: */ 124, +/* 55: */ 124, +/* 56: */ 125, +/* 57: */ 126, +/* 58: */ 126, +/* 59: */ 127, +/* 60: */ 127, +/* 61: */ 127, +/* 62: */ 127, +/* 63: */ 127, +/* 64: */ 128, +/* 65: */ 127, +/* 66: */ 127, +/* 67: */ 127, +/* 68: */ 127, +/* 69: */ 127, +/* 70: */ 126, +/* 71: */ 126, +/* 72: */ 125, +/* 73: */ 124, +/* 74: */ 124, +/* 75: */ 123, +/* 76: */ 122, +/* 77: */ 121, +/* 78: */ 120, +/* 79: */ 119, +/* 80: */ 118, +/* 81: */ 117, +/* 82: */ 115, +/* 83: */ 114, +/* 84: */ 112, +/* 85: */ 111, +/* 86: */ 109, +/* 87: */ 108, +/* 88: */ 106, +/* 89: */ 104, +/* 90: */ 102, +/* 91: */ 100, +/* 92: */ 98, +/* 93: */ 96, +/* 94: */ 94, +/* 95: */ 92, +/* 96: */ 90, +/* 97: */ 88, +/* 98: */ 85, +/* 99: */ 83, +/* 100: */ 81, +/* 101: */ 78, +/* 102: */ 76, +/* 103: */ 73, +/* 104: */ 71, +/* 105: */ 68, +/* 106: */ 65, +/* 107: */ 63, +/* 108: */ 60, +/* 109: */ 57, +/* 110: */ 54, +/* 111: */ 51, +/* 112: */ 48, +/* 113: */ 46, +/* 114: */ 43, +/* 115: */ 40, +/* 116: */ 37, +/* 117: */ 34, +/* 118: */ 31, +/* 119: */ 28, +/* 120: */ 24, +/* 121: */ 21, +/* 122: */ 18, +/* 123: */ 15, +/* 124: */ 12, +/* 125: */ 9, +/* 126: */ 6, +/* 127: */ 3, +/* 128: */ 0, +/* 129: */ -3, +/* 130: */ -6, +/* 131: */ -9, +/* 132: */ -12, +/* 133: */ -15, +/* 134: */ -18, +/* 135: */ -21, +/* 136: */ -24, +/* 137: */ -28, +/* 138: */ -31, +/* 139: */ -34, +/* 140: */ -37, +/* 141: */ -40, +/* 142: */ -43, +/* 143: */ -46, +/* 144: */ -48, +/* 145: */ -51, +/* 146: */ -54, +/* 147: */ -57, +/* 148: */ -60, +/* 149: */ -63, +/* 150: */ -65, +/* 151: */ -68, +/* 152: */ -71, +/* 153: */ -73, +/* 154: */ -76, +/* 155: */ -78, +/* 156: */ -81, +/* 157: */ -83, +/* 158: */ -85, +/* 159: */ -88, +/* 160: */ -90, +/* 161: */ -92, +/* 162: */ -94, +/* 163: */ -96, +/* 164: */ -98, +/* 165: */ -100, +/* 166: */ -102, +/* 167: */ -104, +/* 168: */ -106, +/* 169: */ -108, +/* 170: */ -109, +/* 171: */ -111, +/* 172: */ -112, +/* 173: */ -114, +/* 174: */ -115, +/* 175: */ -117, +/* 176: */ -118, +/* 177: */ -119, +/* 178: */ -120, +/* 179: */ -121, +/* 180: */ -122, +/* 181: */ -123, +/* 182: */ -124, +/* 183: */ -124, +/* 184: */ -125, +/* 185: */ -126, +/* 186: */ -126, +/* 187: */ -127, +/* 188: */ -127, +/* 189: */ -127, +/* 190: */ -127, +/* 191: */ -127, +/* 192: */ -128, +/* 193: */ -127, +/* 194: */ -127, +/* 195: */ -127, +/* 196: */ -127, +/* 197: */ -127, +/* 198: */ -126, +/* 199: */ -126, +/* 200: */ -125, +/* 201: */ -124, +/* 202: */ -124, +/* 203: */ -123, +/* 204: */ -122, +/* 205: */ -121, +/* 206: */ -120, +/* 207: */ -119, +/* 208: */ -118, +/* 209: */ -117, +/* 210: */ -115, +/* 211: */ -114, +/* 212: */ -112, +/* 213: */ -111, +/* 214: */ -109, +/* 215: */ -108, +/* 216: */ -106, +/* 217: */ -104, +/* 218: */ -102, +/* 219: */ -100, +/* 220: */ -98, +/* 221: */ -96, +/* 222: */ -94, +/* 223: */ -92, +/* 224: */ -90, +/* 225: */ -88, +/* 226: */ -85, +/* 227: */ -83, +/* 228: */ -81, +/* 229: */ -78, +/* 230: */ -76, +/* 231: */ -73, +/* 232: */ -71, +/* 233: */ -68, +/* 234: */ -65, +/* 235: */ -63, +/* 236: */ -60, +/* 237: */ -57, +/* 238: */ -54, +/* 239: */ -51, +/* 240: */ -48, +/* 241: */ -46, +/* 242: */ -43, +/* 243: */ -40, +/* 244: */ -37, +/* 245: */ -34, +/* 246: */ -31, +/* 247: */ -28, +/* 248: */ -24, +/* 249: */ -21, +/* 250: */ -18, +/* 251: */ -15, +/* 252: */ -12, +/* 253: */ -9, +/* 254: */ -6, +/* 255: */ -3, +}; +const fixednum fixedTableAtan[] = { +/* 0: */ 0, +/* 1: */ 20, +/* 2: */ 40, +/* 3: */ 61, +/* 4: */ 81, +/* 5: */ 101, +/* 6: */ 122, +/* 7: */ 142, +/* 8: */ 162, +/* 9: */ 183, +/* 10: */ 203, +/* 11: */ 223, +/* 12: */ 244, +/* 13: */ 264, +/* 14: */ 284, +/* 15: */ 305, +/* 16: */ 325, +/* 17: */ 345, +/* 18: */ 366, +/* 19: */ 386, +/* 20: */ 406, +/* 21: */ 426, +/* 22: */ 447, +/* 23: */ 467, +/* 24: */ 487, +/* 25: */ 507, +/* 26: */ 527, +/* 27: */ 548, +/* 28: */ 568, +/* 29: */ 588, +/* 30: */ 608, +/* 31: */ 628, +/* 32: */ 648, +/* 33: */ 668, +/* 34: */ 688, +/* 35: */ 708, +/* 36: */ 728, +/* 37: */ 748, +/* 38: */ 768, +/* 39: */ 788, +/* 40: */ 808, +/* 41: */ 828, +/* 42: */ 848, +/* 43: */ 867, +/* 44: */ 887, +/* 45: */ 907, +/* 46: */ 927, +/* 47: */ 946, +/* 48: */ 966, +/* 49: */ 986, +/* 50: */ 1005, +/* 51: */ 1025, +/* 52: */ 1045, +/* 53: */ 1064, +/* 54: */ 1084, +/* 55: */ 1103, +/* 56: */ 1123, +/* 57: */ 1142, +/* 58: */ 1161, +/* 59: */ 1181, +/* 60: */ 1200, +/* 61: */ 1219, +/* 62: */ 1239, +/* 63: */ 1258, +/* 64: */ 1277, +/* 65: */ 1296, +/* 66: */ 1315, +/* 67: */ 1334, +/* 68: */ 1354, +/* 69: */ 1373, +/* 70: */ 1392, +/* 71: */ 1410, +/* 72: */ 1429, +/* 73: */ 1448, +/* 74: */ 1467, +/* 75: */ 1486, +/* 76: */ 1505, +/* 77: */ 1523, +/* 78: */ 1542, +/* 79: */ 1561, +/* 80: */ 1579, +/* 81: */ 1598, +/* 82: */ 1616, +/* 83: */ 1635, +/* 84: */ 1653, +/* 85: */ 1671, +/* 86: */ 1690, +/* 87: */ 1708, +/* 88: */ 1726, +/* 89: */ 1744, +/* 90: */ 1763, +/* 91: */ 1781, +/* 92: */ 1799, +/* 93: */ 1817, +/* 94: */ 1835, +/* 95: */ 1853, +/* 96: */ 1871, +/* 97: */ 1888, +/* 98: */ 1906, +/* 99: */ 1924, +/* 100: */ 1942, +/* 101: */ 1959, +/* 102: */ 1977, +/* 103: */ 1994, +/* 104: */ 2012, +/* 105: */ 2029, +/* 106: */ 2047, +/* 107: */ 2064, +/* 108: */ 2082, +/* 109: */ 2099, +/* 110: */ 2116, +/* 111: */ 2133, +/* 112: */ 2150, +/* 113: */ 2167, +/* 114: */ 2184, +/* 115: */ 2201, +/* 116: */ 2218, +/* 117: */ 2235, +/* 118: */ 2252, +/* 119: */ 2269, +/* 120: */ 2286, +/* 121: */ 2302, +/* 122: */ 2319, +/* 123: */ 2335, +/* 124: */ 2352, +/* 125: */ 2368, +/* 126: */ 2385, +/* 127: */ 2401, +/* 128: */ 2418, +/* 129: */ 2434, +/* 130: */ 2450, +/* 131: */ 2466, +/* 132: */ 2482, +/* 133: */ 2498, +/* 134: */ 2514, +/* 135: */ 2530, +/* 136: */ 2546, +/* 137: */ 2562, +/* 138: */ 2578, +/* 139: */ 2594, +/* 140: */ 2609, +/* 141: */ 2625, +/* 142: */ 2641, +/* 143: */ 2656, +/* 144: */ 2672, +/* 145: */ 2687, +/* 146: */ 2703, +/* 147: */ 2718, +/* 148: */ 2733, +/* 149: */ 2748, +/* 150: */ 2764, +/* 151: */ 2779, +/* 152: */ 2794, +/* 153: */ 2809, +/* 154: */ 2824, +/* 155: */ 2839, +/* 156: */ 2854, +/* 157: */ 2869, +/* 158: */ 2883, +/* 159: */ 2898, +/* 160: */ 2913, +/* 161: */ 2927, +/* 162: */ 2942, +/* 163: */ 2956, +/* 164: */ 2971, +/* 165: */ 2985, +/* 166: */ 3000, +/* 167: */ 3014, +/* 168: */ 3028, +/* 169: */ 3042, +/* 170: */ 3057, +/* 171: */ 3071, +/* 172: */ 3085, +/* 173: */ 3099, +/* 174: */ 3113, +/* 175: */ 3127, +/* 176: */ 3141, +/* 177: */ 3154, +/* 178: */ 3168, +/* 179: */ 3182, +/* 180: */ 3195, +/* 181: */ 3209, +/* 182: */ 3223, +/* 183: */ 3236, +/* 184: */ 3250, +/* 185: */ 3263, +/* 186: */ 3276, +/* 187: */ 3290, +/* 188: */ 3303, +/* 189: */ 3316, +/* 190: */ 3329, +/* 191: */ 3342, +/* 192: */ 3355, +/* 193: */ 3368, +/* 194: */ 3381, +/* 195: */ 3394, +/* 196: */ 3407, +/* 197: */ 3420, +/* 198: */ 3433, +/* 199: */ 3446, +/* 200: */ 3458, +/* 201: */ 3471, +/* 202: */ 3483, +/* 203: */ 3496, +/* 204: */ 3508, +/* 205: */ 3521, +/* 206: */ 3533, +/* 207: */ 3546, +/* 208: */ 3558, +/* 209: */ 3570, +/* 210: */ 3582, +/* 211: */ 3595, +/* 212: */ 3607, +/* 213: */ 3619, +/* 214: */ 3631, +/* 215: */ 3643, +/* 216: */ 3655, +/* 217: */ 3666, +/* 218: */ 3678, +/* 219: */ 3690, +/* 220: */ 3702, +/* 221: */ 3714, +/* 222: */ 3725, +/* 223: */ 3737, +/* 224: */ 3748, +/* 225: */ 3760, +/* 226: */ 3771, +/* 227: */ 3783, +/* 228: */ 3794, +/* 229: */ 3805, +/* 230: */ 3817, +/* 231: */ 3828, +/* 232: */ 3839, +/* 233: */ 3850, +/* 234: */ 3862, +/* 235: */ 3873, +/* 236: */ 3884, +/* 237: */ 3895, +/* 238: */ 3906, +/* 239: */ 3916, +/* 240: */ 3927, +/* 241: */ 3938, +/* 242: */ 3949, +/* 243: */ 3960, +/* 244: */ 3970, +/* 245: */ 3981, +/* 246: */ 3992, +/* 247: */ 4002, +/* 248: */ 4013, +/* 249: */ 4023, +/* 250: */ 4034, +/* 251: */ 4044, +/* 252: */ 4054, +/* 253: */ 4065, +/* 254: */ 4075, +/* 255: */ 4085, +/* 256: */ 4096, +}; diff --git a/libfixed/src/mt19937ar.cpp b/libfixed/src/mt19937ar.cpp new file mode 100644 index 0000000..076f95a --- /dev/null +++ b/libfixed/src/mt19937ar.cpp @@ -0,0 +1,150 @@ +/* + A C-program for MT19937, with initialization improved 2002/1/26. + Coded by Takuji Nishimura and Makoto Matsumoto. + + Before using, initialize the state by using init_genrand(seed) + or init_by_array(init_key, key_length). + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + Any feedback is very welcome. + http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html + email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space) +*/ + +#include + +#ifdef FIXEDNUM_TEST +#define EWRAM_DATA /* do nothing */ +#else +// for GBA changes +#include +#endif + +/* Period parameters */ +#define N 624 +#define M 397 +#define MATRIX_A 0x9908b0dfUL /* constant vector a */ +#define UPPER_MASK 0x80000000UL /* most significant w-r bits */ +#define LOWER_MASK 0x7fffffffUL /* least significant r bits */ + +static unsigned long mt[N]; /* the array for the state vector */ +static int mti = N+1; /* mti==N+1 means mt[N] is not initialized */ + +/* initializes mt[N] with a seed */ +void init_genrand(unsigned long s) +{ + mt[0]= s & 0xffffffffUL; + for (mti=1; mti> 30)) + mti); + /* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */ + /* In the previous versions, MSBs of the seed affect */ + /* only MSBs of the array mt[]. */ + /* 2002/01/09 modified by Makoto Matsumoto */ + mt[mti] &= 0xffffffffUL; + /* for >32 bit machines */ + } +} + +/* initialize by an array with array-length */ +/* init_key is the array for initializing keys */ +/* key_length is its length */ +/* slight change for C++, 2004/2/26 */ +void init_by_array(unsigned long init_key[], int key_length) +{ + int i, j, k; + init_genrand(19650218UL); + i=1; j=0; + k = (N>key_length ? N : key_length); + for (; k; k--) { + mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1664525UL)) + + init_key[j] + j; /* non linear */ + mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */ + i++; j++; + if (i>=N) { mt[0] = mt[N-1]; i=1; } + if (j>=key_length) j=0; + } + for (k=N-1; k; k--) { + mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1566083941UL)) + - i; /* non linear */ + mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */ + i++; + if (i>=N) { mt[0] = mt[N-1]; i=1; } + } + + mt[0] = 0x80000000UL; /* MSB is 1; assuring non-zero initial array */ +} + +/* generates a random number on [0,0xffffffff]-interval */ +unsigned long genrand_int32(void) +{ + unsigned long y; + const unsigned long mag01[2]={0x0UL, MATRIX_A}; + /* mag01[x] = x * MATRIX_A for x=0,1 */ + + if (mti >= N) { /* generate N words at one time */ + int kk; + + if (mti == N+1) /* if init_genrand() has not been called, */ + init_genrand(5489UL); /* a default initial seed is used */ + + for (kk=0;kk> 1) ^ mag01[y & 0x1UL]; + } + for (;kk> 1) ^ mag01[y & 0x1UL]; + } + y = (mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK); + mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1UL]; + + mti = 0; + } + + y = mt[mti++]; + + /* Tempering */ + y ^= (y >> 11); + y ^= (y << 7) & 0x9d2c5680UL; + y ^= (y << 15) & 0xefc60000UL; + y ^= (y >> 18); + + return y; +} + +/* generates a random number on [0,0x7fffffff]-interval */ +long genrand_int31(void) +{ + return (long)(genrand_int32()>>1); +} diff --git a/libfixed/test/test.cpp b/libfixed/test/test.cpp new file mode 100644 index 0000000..3f34821 --- /dev/null +++ b/libfixed/test/test.cpp @@ -0,0 +1,239 @@ +#include +#include +#include +#include +#include +#include "fixed.hpp" + +void +doubleTest() +{ + FixedPointNum fp = 1.5; + if ((fp * 2).toInt() != 3) { + printf("[ERROR] doubleTest\n"); + } + + fp = - 0.7; + if (fp >= 0) { + printf("[ERROR] doubleTest\n"); + } + printf("[TEST] -0.7 = 0x%x\n", fp.getRawValue()); + + fp += 0.7; + printf("[TEST] -0.7 + 0.7 = 0x%x\n", fp.getRawValue()); + + fp = FixedPointNum::degree2angle(- 0.7); + printf("[TEST] degree2angle(-0.7) = 0x%x\n", fp.getRawValue()); + printf("[TEST] cos(-0.7) = 0x%x\n", FixedPointNum::cos(fp).getRawValue()); + printf("[TEST] sin(-0.7) = 0x%x\n", FixedPointNum::sin(fp).getRawValue()); + + fp = 0; + for (int i = 0; i < 8; ++i) { + fp += FixedPointNum::degree2angle(0.7); + printf("[TEST:%d] degree2angle(0.7) = 0x%x\n", i, fp.getRawValue()); + printf("[TEST:%d] cos(0.7) = 0x%x\n", i, FixedPointNum::cos(fp).getRawValue()); + printf("[TEST:%d] sin(0.7) = 0x%x\n", i, FixedPointNum::sin(fp).getRawValue()); + } + + fp = - 0.7; + fp += - 0.7; + printf("[TEST] -0.7 - 0.7 = 0x%x\n", fp.getRawValue()); + + fp = 0; + printf("[TEST1] cos() = 0x%x\n", FixedPointNum::cos(fp).getRawValue()); + printf("[TEST1] sin() = 0x%x\n", FixedPointNum::sin(fp).getRawValue()); + printf("[TEST] mask = 0x%x\n", FixedPointNum::ANGLENUM - 1); + for (int i = 0; i < 16; ++i) { + printf("[TEST:%d] degree2angle(45) * %d = %d\n", i, i, fp.toInt()); + fp += FixedPointNum::degree2angle(45); + } + + fp = 0; + for (int i = 0; i < 16; ++i) { + printf("[TEST:%d] degree2angle(FixedPointNum(45)) * %d = %d\n", i, i, fp.toInt()); + fp += FixedPointNum::degree2angle(FixedPointNum(45)); + } + + fp = FixedPointNum::degree2angle(FixedPointNum(360)); + printf("[TEST] degree2angle(FixedPointNum(360)) = %d\n", fp.toInt()); + + fp = FixedPointNum::degree2angle(360); + printf("[TEST] degree2angle(360) = %d\n", fp.toInt()); + + //fp = - 80.0 - (1.0) * 2.0 + FixedPointNum::random() - 0.5; + fp = - 80.0 - (- 1.0) * 2.0 + FixedPointNum::random() - 0.5; + printf("[TEST2] %d\n", fp.toInt()); +} + +void +operatorTest() +{ + if (FixedPointNum(3) - FixedPointNum(5) > 0) { + printf("[ERROR] operatorTest\n"); + } + + FixedPointNum fp = 4; + if ((fp >> 1).toInt() != 2) { + printf("[ERROR] operatorTest >>\n"); + } + + fp = FixedPointNum::sin(21) * 100; + printf("mul = %d (100 / 2)\n", fp.toInt()); + fp = FixedPointNum::sin(21) * -100; + printf("mul = %d (-100 / 2)\n", fp.toInt()); + + fp = FixedPointNum::sin(21) * FixedPointNum(100); + printf("mul = %d (100 / 2)\n", fp.toInt()); + + printf("div --------------------------------------------------\n"); + fp = FixedPointNum(100) / FixedPointNum(2); + printf("div = %d (100 / 2)\n", fp.toInt()); + fp = FixedPointNum(-100) / FixedPointNum(2); + printf("div = %d (-100 / 2)\n", fp.toInt()); + + fp = 4; + printf("[TEST] 4/30 = 0x%x\n", FixedPointNum(4, 30).getRawValue()); + printf("[TEST] - 4/30 = 0x%x\n", FixedPointNum(-4, 30).getRawValue()); + for (int i = 0; i < 30; ++i) { + printf("[TEST] 4 - 4/30 * %d = 0x%x\n", i, fp.getRawValue()); + fp += FixedPointNum(-4, 30); + } + printf("[TEST] 4 - 4/30 * 30 = 0x%x\n", fp.getRawValue()); +} + +void +rangeTest() { + int testnum[] = {50, 0, -50, 255, -255, -511, 511, 10000}; + + for (unsigned int i = 0; i < sizeof(testnum) / sizeof(testnum[0]); ++i) { + if (FixedPointNum(testnum[i]) != testnum[i]) { + printf("[ERROR] testnum = %d, filtered = %d\n", testnum[i], FixedPointNum(_FixedNum(testnum[i])).toInt()); + } + int cmpnum = -50; + if (FixedPointNum(testnum[i]) < FixedPointNum(cmpnum)) { + printf("1: %d < %d\n", testnum[i], cmpnum); + } else { + printf("1: %d >= %d\n", testnum[i], cmpnum); + } + if (FixedPointNum(testnum[i]) < cmpnum) { + printf("2: %d < %d\n", testnum[i], cmpnum); + } else { + printf("2: %d >= %d\n", testnum[i], cmpnum); + } + } +} + +void +dumpRand() +{ + printf("rand --------------------------------------------------\n"); + for (int i = 0; i < 32; ++i) { + FixedPointNum fp = FixedPointNum(255) * FixedPointNum::random(); + printf("%d\n", fp.toInt()); + } +} + +void +randTest() +{ + FixedPointNum fp = 130; + printf("%d\n", fp.toInt()); + unsigned short wait = FixedPointNum(500).toInt(); + printf("%d\n", wait); + for (int i = 0; i < 10; ++i) { + fp = (FixedPointNum::random() * 63.75 + 95.62) + + (FixedPointNum::random() * 14.16 - 7.08); + fp = FixedPointNum::random() * 11.33 - 5.66; + fp = FixedPointNum::random() * 256; + fp = FixedPointNum::random() * 255; + //fp = (FixedPointNum::random () * FixedPointNum (100000) - FixedPointNum (50000)); + printf("rnd: %d\n", fp.toInt()); + //printf("rnd: %d\n", FixedPointNum::random().getRawValue()); + } +} + +void +sinTest() +{ + printf("sin --------------------------------------------------\n"); + int maxnum = 0xffff >> (FixedPointNum::SHIFTBIT + 1); + for (int i = - maxnum; i < maxnum; ++i) { + FixedPointNum fp = FixedPointNum::sin(i); + double fixed = (1.0 * fp.getRawValue()) / (1 << FixedPointNum::SHIFTBIT); + double real = sin(2 * 3.14 * i / FixedPointNum::ANGLENUM); + if (fixed - real > 0.1) { + printf("%03d: %d, %f - %f = %f\n", i, fp.getRawValue(), fixed, real, fixed - real); + } + } +} + +void +cosTest() +{ + printf("cos --------------------------------------------------\n"); + int maxnum = 0xffff >> (FixedPointNum::SHIFTBIT + 1); + for (int i = - maxnum; i < maxnum; ++i) { + FixedPointNum fp = FixedPointNum::cos(FixedPointNum(i)); + double fixed = (1.0 * fp.getRawValue()) / (1 << FixedPointNum::SHIFTBIT); + double real = cos(2 * 3.14 * i / FixedPointNum::ANGLENUM); + if (fixed - real > 0.1) { + printf("%03d: %f\n", i, fixed - real); + } + } +} + +void +atanTest() +{ + printf("atan --------------------------------------------------\n"); + int x; + int y; + for (x = -10; x < 10; ++x) { + for (y = -10; y < 10; ++y) { + if (x == 0) { + continue; + } + + FixedPointNum theta = FixedPointNum::atan(FixedPointNum(y), FixedPointNum(x)); + double f_sin = (1.0 * FixedPointNum::sin(theta).getRawValue()) / (1 << FixedPointNum::SHIFTBIT); + double f_cos = (1.0 * FixedPointNum::cos(theta).getRawValue()) / (1 << FixedPointNum::SHIFTBIT); + double fixed; + if (f_cos == 0) { + fixed = 1.0; + } else { + fixed = f_sin / f_cos; + } + + double real = 1.0 * y / x; + + if (fixed - real > 0.1) { + printf("%3dx%3d: t: %4d, sin: %9f, cos: %9f, %9f - %9f = %9f\n", x, y, theta.toInt(), f_sin, f_cos, fixed, real, fixed - real); + } + } + } +} + +int +main() +{ + printf("sizeof(FixedPointNum) = %d\n", sizeof(FixedPointNum)); + printf("sizeof(fixednum) = %d\n", sizeof(fixednum)); + + { + struct timeval tv; + gettimeofday(&tv, NULL); + printf("timeofday = %d (sec)\n", static_cast(tv.tv_sec)); + init_genrand(tv.tv_sec); + } + + doubleTest(); + operatorTest(); + rangeTest(); + dumpRand(); + randTest(); + sinTest(); + cosTest(); + atanTest(); + + return 0; +} diff --git a/libfont/Makefile b/libfont/Makefile new file mode 100644 index 0000000..d11490c --- /dev/null +++ b/libfont/Makefile @@ -0,0 +1,148 @@ +#--------------------------------------------------------------------------------- +# Clear the implicit built in rules +#--------------------------------------------------------------------------------- +.SUFFIXES: +#--------------------------------------------------------------------------------- +ifeq ($(strip $(DEVKITARM)),) +$(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM) +endif + +include $(DEVKITARM)/gba_rules + +#--------------------------------------------------------------------------------- +# TARGET is the name of the output, if this ends with _mb a multiboot image is generated +# BUILD is the directory where object files & intermediate files will be placed +# SOURCES is a list of directories containing source code +# DATA is a list of directories containing data files +# INCLUDES is a list of directories containing header files +#--------------------------------------------------------------------------------- +TARGET := $(shell basename $(CURDIR)) +BUILD := build +SOURCES := test +DATA := +INCLUDES := test + +#--------------------------------------------------------------------------------- +# options for code generation +#--------------------------------------------------------------------------------- +ARCH := -mthumb -mthumb-interwork +#ARCH := -mthumb-interwork + +CFLAGS := -Wall -O6 \ + -mcpu=arm7tdmi -mtune=arm7tdmi\ + -fomit-frame-pointer\ + -ffast-math \ + -DSET_WAITCNT \ + $(ARCH) + +CFLAGS += $(INCLUDE) +# "-mstructure-size-boundary=8" flag need to prevent "class-structure padding". +# -Wpadded +CXXFLAGS = $(CFLAGS) -fno-exceptions -mstructure-size-boundary=8 # -Wpadded + + +ASFLAGS := $(ARCH) +LDFLAGS = -g $(ARCH) -Wl,-Map,$(notdir $@).map + +#--------------------------------------------------------------------------------- +# path to tools - this can be deleted if you set the path to the toolchain in windows +#--------------------------------------------------------------------------------- +export PATH := $(DEVKITARM)/bin:$(PATH) + +#--------------------------------------------------------------------------------- +# any extra libraries we wish to link with the project +#--------------------------------------------------------------------------------- +LIBS := -lgba + +#--------------------------------------------------------------------------------- +# list of directories containing libraries, this must be the top level containing +# include and lib +#--------------------------------------------------------------------------------- +LIBDIRS := $(LIBGBA) + +#--------------------------------------------------------------------------------- +# no real need to edit anything past this point unless you need to add additional +# rules for different file extensions +#--------------------------------------------------------------------------------- +ifneq ($(BUILD),$(notdir $(CURDIR))) +#--------------------------------------------------------------------------------- + +export OUTPUT := $(CURDIR)/$(TARGET) +export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ + $(foreach dir,$(DATA),$(CURDIR)/$(dir)) + +export DEPSDIR := $(CURDIR)/$(BUILD) + +#--------------------------------------------------------------------------------- +# automatically build a list of object files for our project +#--------------------------------------------------------------------------------- +CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) +CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) +SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) +BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.o))) + +#--------------------------------------------------------------------------------- +# use CXX for linking C++ projects, CC for standard C +#--------------------------------------------------------------------------------- +ifeq ($(strip $(CPPFILES)),) +#--------------------------------------------------------------------------------- + export LD := $(CC) +#--------------------------------------------------------------------------------- +else +#--------------------------------------------------------------------------------- + export LD := $(CXX) +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- + +export OFILES := $(addprefix ../$(DATA)/,$(BINFILES)) $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) + +#--------------------------------------------------------------------------------- +# build a list of include paths +#--------------------------------------------------------------------------------- +export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ + $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ + -I$(CURDIR)/$(BUILD) + +#--------------------------------------------------------------------------------- +# build a list of library paths +#--------------------------------------------------------------------------------- +export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) + +.PHONY: $(BUILD) clean + +#--------------------------------------------------------------------------------- +$(BUILD): + @[ -d $@ ] || mkdir -p $@ + @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +all : $(BUILD) +#--------------------------------------------------------------------------------- +clean: + @echo clean ... + @rm -fr $(BUILD) $(TARGET).elf $(TARGET).gba + +#--------------------------------------------------------------------------------- +else + +DEPENDS := $(OFILES:.o=.d) + +#--------------------------------------------------------------------------------- +# main targets +#--------------------------------------------------------------------------------- +$(OUTPUT).gba : $(OUTPUT).elf + +$(OUTPUT).elf : $(OFILES) + +%.o : %.pcx + @echo $(notdir $<) + @$(bin2o) + +-include $(DEPENDS) + +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- + +run: + VisualBoyAdvance $(TARGET).gba diff --git a/libfont/images/conv.sh b/libfont/images/conv.sh new file mode 100755 index 0000000..65722df --- /dev/null +++ b/libfont/images/conv.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +basedir=$(dirname $0) +~/gba/tools/convbmp.sh font/fontdata.bmp > $basedir/../source/fontdata.hpp diff --git a/libfont/images/font/fontdata.bmp b/libfont/images/font/fontdata.bmp new file mode 100644 index 0000000..1768c52 Binary files /dev/null and b/libfont/images/font/fontdata.bmp differ diff --git a/libfont/source/fontdata.hpp b/libfont/source/fontdata.hpp new file mode 100644 index 0000000..aee28e7 --- /dev/null +++ b/libfont/source/fontdata.hpp @@ -0,0 +1,990 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +font/fontdata.bmp Opened. +Bmp signature found. +Bmp width: 760 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 3040 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_fontdata { + enum { + w = 95, + h = 1, + size = 95, + }; + const unsigned short palette[] = { + 0x3e0,0xc63,0x14a5,0x1ce7,0x2529,0x2d8b,0x35cd,0x3e10,0x4a52,0x5294,0x5ad6,0x6318,0x6b5a,0x739c,0x77bd,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 0] + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0xb0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 0] + 0x0,0xf,0xf,0x0, + 0x0,0xf,0xf,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0xf,0xf,0x0, + 0xf0,0xff,0xff,0x0, + 0x0,0xf,0xf,0x0, + 0x0,0xf,0xf,0x0, + 0xf0,0xff,0xff,0x0, + 0x0,0xf,0xf,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [4 , 0] + 0x40,0xfe,0x4e,0x0, + 0xe0,0xf3,0xd3,0x0, + 0xe0,0xf3,0x0,0x0, + 0x40,0xfe,0x4d,0x0, + 0x0,0xf0,0xd3,0x0, + 0xe0,0xf3,0xd3,0x0, + 0x40,0xfe,0x4e,0x0, + 0x0,0xf0,0x0,0x0, + + // Tile [5 , 0] + 0xf6,0x6,0x0,0xe, + 0x3f,0xf,0xe6,0x0, + 0xf6,0x6,0xe,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xe,0xf6,0x6, + 0xe0,0x6,0x3f,0xf, + 0xe,0x0,0xf6,0x6, + 0x0,0x0,0x0,0x0, + + // Tile [6 , 0] + 0x40,0xfe,0x8,0x0, + 0xe0,0x33,0xe,0x0, + 0xe0,0xd6,0x3,0x0, + 0x60,0x6f,0x0,0x0, + 0xe0,0xe6,0xd6,0x0, + 0xe0,0x63,0x6f,0x0, + 0x40,0xee,0xc6,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [7 , 0] + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [8 , 0] + 0x0,0xd3,0x3,0x0, + 0x0,0x3e,0x0,0x0, + 0x0,0xf,0x0,0x0, + 0x0,0xf,0x0,0x0, + 0x0,0xf,0x0,0x0, + 0x0,0x3e,0x0,0x0, + 0x0,0xd3,0x3,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [9 , 0] + 0x0,0xd3,0x3,0x0, + 0x0,0x30,0xe,0x0, + 0x0,0x0,0xf,0x0, + 0x0,0x0,0xf,0x0, + 0x0,0x0,0xf,0x0, + 0x0,0x30,0xe,0x0, + 0x0,0xd3,0x3,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [10 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0xa0,0xf9,0xa9,0x0, + 0x10,0xfc,0x1c,0x0, + 0xa0,0xf9,0xa9,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [11 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0xf0,0xff,0xff,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [12 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0xbb,0x0,0x0, + 0x0,0xfb,0x0,0x0, + 0x0,0xe3,0x0,0x0, + + // Tile [13 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0xff,0xf,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [14 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0xab,0x0,0x0, + 0x0,0xab,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [15 , 0] + 0x0,0x0,0xd0,0x0, + 0x0,0x0,0x96,0x0, + 0x0,0x0,0x2e,0x0, + 0x0,0x70,0x9,0x0, + 0x0,0xe0,0x2,0x0, + 0x0,0x97,0x0,0x0, + 0x0,0x2e,0x0,0x0, + 0x0,0x8,0x0,0x0, + + // Tile [16 , 0] + 0x40,0xfd,0x4d,0x0, + 0xe0,0x3,0xd6,0x0, + 0xf0,0x30,0xfe,0x0, + 0xf0,0xe3,0xf3,0x0, + 0xf0,0x3e,0xf0,0x0, + 0xe0,0x6,0xd3,0x0, + 0x40,0xfe,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [17 , 0] + 0x0,0xf3,0x0,0x0, + 0x70,0xff,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0xf0,0xff,0xff,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [18 , 0] + 0x40,0xfd,0x4d,0x0, + 0xe0,0x3,0xe3,0x0, + 0x0,0x0,0xd3,0x0, + 0x0,0x30,0x3d,0x0, + 0x0,0xd3,0x3,0x0, + 0x30,0x3d,0x0,0x0, + 0xe0,0xff,0xff,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [19 , 0] + 0x40,0xfe,0x4e,0x0, + 0xe0,0x3,0xe3,0x0, + 0x0,0x0,0xd3,0x0, + 0x0,0xf0,0x6f,0x0, + 0x0,0x0,0xd3,0x0, + 0xe0,0x3,0xe3,0x0, + 0x40,0xfe,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [20 , 0] + 0x0,0x30,0xe,0x0, + 0x0,0xd3,0xf,0x0, + 0x30,0x3d,0xf,0x0, + 0xe0,0x3,0xf,0x0, + 0xf0,0xff,0xff,0x0, + 0x0,0x0,0xf,0x0, + 0x0,0xf0,0xff,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [21 , 0] + 0xf0,0xff,0xff,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0xff,0x4d,0x0, + 0x0,0x0,0xd3,0x0, + 0x0,0x0,0xf0,0x0, + 0xe0,0x3,0xd3,0x0, + 0x40,0xfe,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [22 , 0] + 0x40,0xfd,0xf,0x0, + 0xe0,0x3,0x0,0x0, + 0xf0,0xff,0x4d,0x0, + 0xf0,0x0,0xd3,0x0, + 0xf0,0x0,0xf0,0x0, + 0xe0,0x3,0xd3,0x0, + 0x40,0xfe,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [23 , 0] + 0xf0,0xff,0xff,0x0, + 0x0,0x0,0xf0,0x0, + 0x0,0x0,0xe3,0x0, + 0x0,0x30,0x3d,0x0, + 0x0,0xe0,0x3,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [24 , 0] + 0x40,0xfe,0x4e,0x0, + 0xe0,0x3,0xe3,0x0, + 0xd0,0x3,0xd3,0x0, + 0x60,0xff,0x6f,0x0, + 0xd0,0x3,0xd3,0x0, + 0xe0,0x3,0xe3,0x0, + 0x40,0xfe,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [25 , 0] + 0x40,0xfd,0x4d,0x0, + 0xe0,0x3,0xd3,0x0, + 0xf0,0x0,0xf0,0x0, + 0xe0,0x3,0xf0,0x0, + 0x40,0xfe,0xff,0x0, + 0x0,0x0,0xd3,0x0, + 0x0,0xff,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [26 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0xbb,0x0,0x0, + 0x0,0xbb,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0xbb,0x0,0x0, + 0x0,0xbb,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [27 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0xbb,0x0,0x0, + 0x0,0xbb,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0xbb,0x0,0x0, + 0x0,0xfb,0x0,0x0, + 0x0,0xe3,0x0,0x0, + + // Tile [28 , 0] + 0x0,0x0,0xc3,0x0, + 0x0,0x30,0x3e,0x0, + 0x0,0xe3,0x3,0x0, + 0x0,0x6e,0x0,0x0, + 0x0,0xe3,0x3,0x0, + 0x0,0x30,0x3d,0x0, + 0x0,0x0,0xd3,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [29 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xf0,0xff,0xff,0x0, + 0x0,0x0,0x0,0x0, + 0xf0,0xff,0xff,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [30 , 0] + 0x0,0x3d,0x0,0x0, + 0x0,0xe3,0x3,0x0, + 0x0,0x30,0x3e,0x0, + 0x0,0x0,0xe6,0x0, + 0x0,0x30,0x3e,0x0, + 0x0,0xd3,0x3,0x0, + 0x0,0x3c,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [31 , 0] + 0x40,0xfd,0x4d,0x0, + 0xe0,0x3,0xe3,0x0, + 0x0,0x0,0xd3,0x0, + 0x0,0x30,0x3d,0x0, + 0x0,0xd0,0x3,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0xb0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [32 , 0] + 0x40,0xfd,0x4d,0x0, + 0xe0,0x3,0xd3,0x0, + 0xf0,0xb0,0xff,0x0, + 0xf0,0xf0,0xf0,0x0, + 0xf0,0xb0,0xbf,0x0, + 0xe0,0x3,0x0,0x0, + 0x40,0xfe,0xff,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [33 , 0] + 0x0,0xf5,0x5,0x0, + 0x0,0x7c,0xc,0x0, + 0x50,0xb,0x5b,0x0, + 0xc0,0x3,0xc3,0x0, + 0xf0,0xff,0xff,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [34 , 0] + 0xf0,0xff,0x4e,0x0, + 0xf0,0x0,0xe3,0x0, + 0xf0,0x0,0xd3,0x0, + 0xf0,0xff,0x6f,0x0, + 0xf0,0x0,0xd3,0x0, + 0xf0,0x0,0xe3,0x0, + 0xf0,0xff,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [35 , 0] + 0x40,0xfd,0x4d,0x0, + 0xe0,0x3,0xd3,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xe0,0x3,0xd3,0x0, + 0x40,0xfe,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [36 , 0] + 0xf0,0xff,0x4d,0x0, + 0xf0,0x0,0xd3,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xd3,0x0, + 0xf0,0xff,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [37 , 0] + 0xf0,0xff,0xff,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0xff,0xf,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0xff,0xff,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [38 , 0] + 0xf0,0xff,0xff,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0xff,0xf,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [39 , 0] + 0x40,0xfd,0x4d,0x0, + 0xe0,0x3,0xd3,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0xff,0x0, + 0xf0,0x0,0xf0,0x0, + 0xe0,0x3,0xd3,0x0, + 0x40,0xfe,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [40 , 0] + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0xff,0xff,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [41 , 0] + 0xf0,0xff,0xff,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0xf0,0xff,0xff,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [42 , 0] + 0x0,0x0,0xf0,0x0, + 0x0,0x0,0xf0,0x0, + 0x0,0x0,0xf0,0x0, + 0x0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xe0,0x3,0xe3,0x0, + 0x40,0xfe,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [43 , 0] + 0xf0,0x0,0xc7,0x0, + 0xf0,0x70,0x1c,0x0, + 0xf0,0xc7,0x1,0x0, + 0xf0,0x2f,0x0,0x0, + 0xf0,0xc7,0x1,0x0, + 0xf0,0x70,0x1c,0x0, + 0xf0,0x0,0xc7,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [44 , 0] + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0xff,0xff,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [45 , 0] + 0xf0,0x4,0xf4,0x0, + 0xf0,0x7e,0xfe,0x0, + 0xf0,0xf4,0xf4,0x0, + 0xf0,0xf0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [46 , 0] + 0xe0,0x3,0xf0,0x0, + 0xf0,0x3d,0xf0,0x0, + 0xf0,0xd3,0xf3,0x0, + 0xf0,0x30,0xfd,0x0, + 0xf0,0x0,0xf3,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [47 , 0] + 0x40,0xfd,0x4d,0x0, + 0xe0,0x3,0xd3,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xe0,0x3,0xd3,0x0, + 0x40,0xfe,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [48 , 0] + 0xf0,0xff,0x4e,0x0, + 0xf0,0x0,0xe3,0x0, + 0xf0,0x0,0xd3,0x0, + 0xf0,0xff,0x4e,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [49 , 0] + 0x40,0xfd,0x4d,0x0, + 0xe0,0x3,0xd3,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xe0,0xb3,0xe6,0x0, + 0x40,0xfe,0x7f,0x0, + 0x0,0x0,0xb3,0x0, + + // Tile [50 , 0] + 0xf0,0xff,0x4e,0x0, + 0xf0,0x0,0xe3,0x0, + 0xf0,0x0,0xd3,0x0, + 0xf0,0xff,0x6f,0x0, + 0xf0,0x0,0xd3,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [51 , 0] + 0x40,0xfd,0x4d,0x0, + 0xe0,0x3,0xd3,0x0, + 0xe0,0x3,0x0,0x0, + 0x40,0xfe,0x4d,0x0, + 0x0,0x0,0xd3,0x0, + 0xe0,0x3,0xd3,0x0, + 0x40,0xfe,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [52 , 0] + 0xf0,0xff,0xff,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [53 , 0] + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xe0,0x3,0xe3,0x0, + 0x40,0xfe,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [54 , 0] + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xb0,0x5,0xb5,0x0, + 0x30,0xc,0x3c,0x0, + 0x0,0xab,0xb,0x0, + 0x0,0xf3,0x3,0x0, + 0x0,0x70,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [55 , 0] + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0xf0,0xf0,0x0, + 0xf0,0xf4,0xf4,0x0, + 0xf0,0x7e,0xfe,0x0, + 0xf0,0x4,0xf4,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [56 , 0] + 0xf0,0x0,0xf0,0x0, + 0xe0,0x3,0xe3,0x0, + 0x30,0x6d,0x3d,0x0, + 0x0,0xf6,0x6,0x0, + 0x30,0x6d,0x3d,0x0, + 0xe0,0x3,0xe3,0x0, + 0xf0,0x0,0xf0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [57 , 0] + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xe0,0x3,0xe3,0x0, + 0x30,0x6d,0x3d,0x0, + 0x0,0xf3,0x3,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [58 , 0] + 0xf0,0xff,0xff,0x0, + 0x0,0x0,0xe4,0x0, + 0x0,0x40,0x2e,0x0, + 0x0,0xe4,0x2,0x0, + 0x40,0x2e,0x0,0x0, + 0xf0,0x2,0x0,0x0, + 0xf0,0xff,0xff,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [59 , 0] + 0x0,0xf0,0xf,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0xf,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [60 , 0] + 0x20,0xe,0x0,0x0, + 0x0,0x78,0x0,0x0, + 0x0,0xe1,0x0,0x0, + 0x0,0x80,0x7,0x0, + 0x0,0x10,0x1e,0x0, + 0x0,0x0,0x78,0x0, + 0x0,0x0,0xd1,0x1, + 0x0,0x0,0x70,0x7, + + // Tile [61 , 0] + 0x0,0xff,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xff,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [62 , 0] + 0x0,0xd2,0x5,0x0, + 0x20,0x7d,0x5d,0x0, + 0xa0,0x5,0xc2,0x1, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [63 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [64 , 0] + 0x0,0xc5,0x0,0x0, + 0x0,0x10,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [65 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0xfe,0xff,0x0, + 0xe0,0x3,0xf0,0x0, + 0xf0,0x0,0xf1,0x0, + 0xe0,0x23,0xfc,0x0, + 0x40,0xce,0xf2,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [66 , 0] + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0xff,0x4d,0x0, + 0xf0,0x0,0xd3,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xd3,0x0, + 0xf0,0xff,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [67 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0xfd,0x4d,0x0, + 0xe0,0x3,0xd3,0x0, + 0xf0,0x0,0x0,0x0, + 0xe0,0x3,0x0,0x0, + 0x40,0xfe,0xff,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [68 , 0] + 0x0,0x0,0xf0,0x0, + 0x0,0x0,0xf0,0x0, + 0x40,0xfd,0xff,0x0, + 0xe0,0x3,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xe0,0x3,0xf0,0x0, + 0x40,0xfe,0xff,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [69 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0xfd,0x4d,0x0, + 0xe0,0x3,0xd3,0x0, + 0xf0,0xff,0xff,0x0, + 0xe0,0x3,0x0,0x0, + 0x40,0xfe,0xff,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [70 , 0] + 0x0,0x40,0xfd,0x0, + 0x0,0xe0,0x3,0x0, + 0x0,0xe0,0x0,0x0, + 0xf0,0xff,0xff,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf3,0x0,0x0, + 0xf0,0x4d,0x0,0x0, + + // Tile [71 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0xfd,0xff,0x0, + 0xe0,0x3,0xf0,0x0, + 0xe0,0x3,0xf0,0x0, + 0x40,0xfe,0xff,0x0, + 0x0,0x0,0xe3,0x0, + 0xf0,0xff,0xff,0x0, + + // Tile [72 , 0] + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0xff,0x4d,0x0, + 0xf0,0x0,0xd3,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [73 , 0] + 0x0,0xb0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0xff,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xff,0xf,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [74 , 0] + 0x0,0xb0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0xff,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xec,0x0,0x0, + + // Tile [75 , 0] + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x30,0x3d,0x0, + 0xf0,0xd3,0x3,0x0, + 0xf0,0xdd,0x3,0x0, + 0xf0,0x33,0x3d,0x0, + 0xf0,0x0,0xd3,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [76 , 0] + 0x0,0xff,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xff,0xf,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [77 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xf0,0xff,0x4d,0x0, + 0xf0,0xf0,0xd3,0x0, + 0xf0,0xf0,0xf0,0x0, + 0xf0,0xf0,0xf0,0x0, + 0xf0,0xf0,0xf0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [78 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xf0,0xc2,0x4e,0x0, + 0xf0,0x2c,0xe3,0x0, + 0xf0,0x1,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [79 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0xfd,0x4d,0x0, + 0xe0,0x3,0xd3,0x0, + 0xf0,0x0,0xf0,0x0, + 0xe0,0x3,0xd3,0x0, + 0x40,0xfe,0x4e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [80 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xff,0xdf,0x4,0x0, + 0xf,0x30,0xd,0x0, + 0xf,0x30,0xd,0x0, + 0xff,0xef,0x4,0x0, + 0xf,0x0,0x0,0x0, + 0xf,0x0,0x0,0x0, + + // Tile [81 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0xfd,0xff,0x0, + 0xe0,0x3,0xf0,0x0, + 0xe0,0x3,0xf0,0x0, + 0x40,0xfe,0xff,0x0, + 0x0,0x0,0xf0,0x0, + 0x0,0x0,0xf0,0x0, + + // Tile [82 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xf0,0xc2,0x4e,0x0, + 0xf0,0x2c,0xe3,0x0, + 0xf0,0x1,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0xf0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [83 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x70,0xfd,0xff,0x0, + 0xf0,0x4,0x0,0x0, + 0x60,0xfd,0x5d,0x0, + 0x0,0x0,0xe4,0x0, + 0xf0,0xff,0x5c,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [84 , 0] + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xff,0xf,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xe0,0x3,0x0, + 0x0,0x40,0xfe,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [85 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf1,0x0, + 0xe0,0x23,0xfc,0x0, + 0x40,0xce,0xf2,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [86 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xb0,0x5,0xb5,0x0, + 0x30,0xc,0x3c,0x0, + 0x0,0xab,0xb,0x0, + 0x0,0xf3,0x3,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [87 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xf0,0xf0,0xf0,0x0, + 0xf0,0xf0,0xf0,0x0, + 0xf0,0xf0,0xf0,0x0, + 0xd0,0xf4,0xd4,0x0, + 0x50,0x5e,0x5e,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [88 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xe0,0x3,0xe3,0x0, + 0x30,0x6d,0x3d,0x0, + 0x0,0xf6,0x6,0x0, + 0x30,0x6d,0x3d,0x0, + 0xe0,0x3,0xe3,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [89 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xe0,0x3,0xf0,0x0, + 0x40,0xfe,0xff,0x0, + 0x0,0x0,0xe3,0x0, + 0x0,0xf0,0x3f,0x0, + + // Tile [90 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xf0,0xff,0xef,0x0, + 0x0,0x30,0x3d,0x0, + 0x0,0xd3,0x3,0x0, + 0x30,0x3d,0x0,0x0, + 0xe0,0xff,0xff,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [91 , 0] + 0x0,0xf0,0xf,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xe3,0x0,0x0, + 0x0,0x5f,0x0,0x0, + 0x0,0xe3,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0xf,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [92 , 0] + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [93 , 0] + 0x0,0xff,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xe0,0x3,0x0, + 0x0,0x50,0xf,0x0, + 0x0,0xe0,0x3,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xff,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [94 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x70,0x8e,0xf1,0x0, + 0xf0,0x81,0x7e,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/libfont/source/fonthandler.cpp b/libfont/source/fonthandler.cpp new file mode 100644 index 0000000..a17075b --- /dev/null +++ b/libfont/source/fonthandler.cpp @@ -0,0 +1,162 @@ +#include "fonthandler.hpp" +#include "fontdata.hpp" +#include "tilerotate.hpp" + +int FontHandler::tileIndex = 0; +int FontHandler::tileEnd = 0; + +void +FontHandler::initialize(int _tileIndex, int _tileSize) +{ + tileIndex = _tileIndex; + tileEnd = _tileIndex + _tileSize; + + u32 *tileBase = static_cast(MAP_BASE_ADR(0)) + (tileIndex * 8); + for (int i = 0; i < _tileSize; ++i) { + *tileBase++ = 0; *tileBase++ = 0; + *tileBase++ = 0; *tileBase++ = 0; + *tileBase++ = 0; *tileBase++ = 0; + *tileBase++ = 0; *tileBase++ = 0; + } +} + +void +FontHandler::getCharFontInfo(CharFontInfo *info, int c) +{ + const u8 *p = TILEINFO_fontdata::img + ((c - 32) * 4 * 8); + + info->leftPos = -1; + info->rightPos = -1; + + for (int x = 0; x < 4; ++x) { + int vline = 0; + for (int y = 0; y < 8; ++y) { + vline |= p[y * 4 + x]; + } + + int l1 = (vline & 0x0f); + int l2 = (vline & 0xf0); + + if (l1 != 0) { + if (info->leftPos == -1) { + info->leftPos = x * 2; + } + info->rightPos = x * 2; + } + if (l2 != 0) { + if (info->leftPos == -1) { + info->leftPos = x * 2 + 1; + } + info->rightPos = x * 2 + 1; + } + } +} + +// Note: must y < 7. +void +FontHandler::drawDot(u32 *tileBase, int x, int y, int paletteIndex) +{ + int blockIndex = x / 8; + u32 *tile = tileBase + blockIndex * 8 + y; + int shift = (x & 0x7) * 4; + *tile |= (paletteIndex << shift); +} + +void +FontHandler::makeString(StringInfo *si, int beginningBlankX, const char *str) +{ + si->initialize(); + + int restWidth = (tileEnd - tileIndex) * 8; + if (restWidth <= 0) { + return; + } + + si->setTileIndex(tileIndex); + u32 *tileBase = static_cast(MAP_BASE_ADR(0)) + (si->getTileIndex() * 8); + + int posX = beginningBlankX; +#define SUCC_POSX(NUM) { posX += NUM; if (restWidth < posX) { goto finish; }} + + for (int c = *str++; c != '\0'; c = *str++) { + if (c == ' ' || c == '_') { + SUCC_POSX(4); + continue; + } + + const u8 *font = TILEINFO_fontdata::img + ((c - 32) * 4 * 8); + CharFontInfo info; + getCharFontInfo(&info, c); + + if (info.leftPos >= 0) { + for (int x = info.leftPos; x <= info.rightPos; ++x) { + const u8 *p = font + (x / 2); + for (int y = 0; y < 8; ++y, p += 4) { + int paletteIndex = 0; + if ((x & 0x1) == 0) { + paletteIndex = (*p & 0x0f); + } else { + paletteIndex = (*p & 0xf0) >> 4; + } + drawDot(tileBase, posX, y, paletteIndex); + } + SUCC_POSX(1); + } + } + + const char *combine[] = { + "it", "re", "tt", "ht", "tp", "//", "Te", "Fo", + NULL, + }; + bool isCombine = false; + for (int i = 0; combine[i]; ++i) { + if (c == combine[i][0] && *str == combine[i][1]) { + isCombine = true; + } + } + if (isCombine) { + continue; + } else { + SUCC_POSX(1); + } + } + +finish: + while (posX & 0x7) { + ++posX; + } + si->setSize(posX / 8); + tileIndex += si->getSize(); +} + +void +FontHandler::makeStringVertical(StringInfo *si, int beginningBlankX, const char *str) +{ + makeString(si, beginningBlankX, str); + for (int i = 0; i < si->getSize(); ++i) { + TileRotate::tileRotate270(si->getTileIndex() + i); + } +} + + +void +FontHandler::drawString(int tileX, int tileY, int palette, const StringInfo &si, int bgmapIndex) +{ + u16 *bgmap = static_cast(MAP_BASE_ADR(bgmapIndex)); + for (int x = 0; x < si.getSize(); ++x) { + bgmap[tileY * 32 + tileX + x] = (si.getTileIndex() + x) | BG_PALETTE(palette); + } +} + +void +FontHandler::drawStringVertical(int tileX, int tileY, int palette, const StringInfo &si, int bgmapIndex) +{ + u16 *bgmap = static_cast(MAP_BASE_ADR(bgmapIndex)); + for (int y = 0; y < si.getSize(); ++y) { + if (tileY >= 20) { + break; + } + bgmap[tileY * 32 + tileX] = (si.getTileIndex() + y) | BG_PALETTE(palette); + ++tileY; + } +} diff --git a/libfont/source/fonthandler.hpp b/libfont/source/fonthandler.hpp new file mode 100644 index 0000000..27dbbf9 --- /dev/null +++ b/libfont/source/fonthandler.hpp @@ -0,0 +1,45 @@ +#ifndef FONTHANDLER_HPP +#define FONTHANDLER_HPP + +#include + +class FontHandler +{ +public: + class StringInfo { + public: + void initialize(void) { + tileIndex = 0; + size = 0; + } + + int getTileIndex(void) const { return tileIndex; } + int getSize(void) const { return size; } + + void setTileIndex(int _tileIndex) { tileIndex = _tileIndex; } + void setSize(int _size) { size = _size; } + + private: + int tileIndex; + int size; + }; + + static void initialize(int _tileIndex, int _tileSize); + static void makeString(StringInfo *si, int beginningBlankX, const char *str); + static void makeStringVertical(StringInfo *si, int beginningBlankX, const char *str); + static void drawString(int tileX, int tileY, int palette, const StringInfo &si, int bgmapIndex); + static void drawStringVertical(int tileX, int tileY, int palette, const StringInfo &si, int bgmapIndex); + +private: + struct CharFontInfo { + int leftPos; + int rightPos; + }; + static void getCharFontInfo(CharFontInfo *info, int c); + static void drawDot(u32 *tileBase, int x, int y, int paletteIndex); + + static int tileIndex; + static int tileEnd; +}; + +#endif diff --git a/libfont/source/simplestring.hpp b/libfont/source/simplestring.hpp new file mode 100644 index 0000000..49cb4b8 --- /dev/null +++ b/libfont/source/simplestring.hpp @@ -0,0 +1,52 @@ +#ifndef SIMPLESTRING_HPP +#define SIMPLESTRING_HPP + +#include + +template +class SimpleString { +public: + void initialize(void) { + memset(buf, 0, sizeof(buf)); + length = 0; + } + + const char *c_str(void) const { + return buf; + } + + void append(char c) { + if (length < SIZE - 1) { + buf[length] = c; + ++length; + } + } + + void append(const char *string) { + const char *p = string; + while (*p) { + append(*p); + ++p; + } + } + + void append(int num, int order) { + if (order == 1) { + if (num >= 10) { + append('A' + num - 10); + } else { + append('0' + num); + } + } else { + append(Div(num, 10), order - 1); + append('0' + DivMod(num, 10)); + } + } + +private: + char buf[SIZE]; + int length; +}; + + +#endif diff --git a/libfont/source/tilerotate.hpp b/libfont/source/tilerotate.hpp new file mode 100644 index 0000000..a7fb537 --- /dev/null +++ b/libfont/source/tilerotate.hpp @@ -0,0 +1,28 @@ +#ifndef TILEROTATE_HPP +#define TILEROTATE_HPP + +namespace TileRotate { + inline void tileRotate270(int tileIndex) { + u32 *tileBase = static_cast(MAP_BASE_ADR(0)) + (tileIndex * 8); + + u32 newLine[8]; + u32 *p = newLine; + *p++ = 0; *p++ = 0; *p++ = 0; *p++ = 0; + *p++ = 0; *p++ = 0; *p++ = 0; *p++ = 0; + + for (int y = 0; y < 8; ++y) { + u32 tile = tileBase[y]; + int shift = (7 - y) * 4; + for (int x = 0; x < 8; ++x) { + newLine[x] |= ((tile & 0xf) << shift); + tile >>= 4; + } + } + + for (int y = 0; y < 8; ++y) { + tileBase[y] = newLine[y]; + } + } +}; + +#endif diff --git a/libfont/test/fontdata.hpp b/libfont/test/fontdata.hpp new file mode 120000 index 0000000..c428a2e --- /dev/null +++ b/libfont/test/fontdata.hpp @@ -0,0 +1 @@ +../source/fontdata.hpp \ No newline at end of file diff --git a/libfont/test/fonthandler.cpp b/libfont/test/fonthandler.cpp new file mode 120000 index 0000000..8c2e002 --- /dev/null +++ b/libfont/test/fonthandler.cpp @@ -0,0 +1 @@ +../source/fonthandler.cpp \ No newline at end of file diff --git a/libfont/test/fonthandler.hpp b/libfont/test/fonthandler.hpp new file mode 120000 index 0000000..67c7074 --- /dev/null +++ b/libfont/test/fonthandler.hpp @@ -0,0 +1 @@ +../source/fonthandler.hpp \ No newline at end of file diff --git a/libfont/test/main.cpp b/libfont/test/main.cpp new file mode 100644 index 0000000..031bed9 --- /dev/null +++ b/libfont/test/main.cpp @@ -0,0 +1,90 @@ +#include +#include "fonthandler.hpp" +#include "fontdata.hpp" +#include "simplestring.hpp" +#include "tilerotate.hpp" + +void +setupTile(void) +{ + u16 *bgmap = static_cast(MAP_BASE_ADR(0)); + for (int i = 0; i < 32 * 32; ++i) { + *bgmap++ = 0; + } + + u16 *pal = BG_COLORS; + memset(pal, 0, 16); + pal += 16; + pal = TILEINFO_fontdata::copyPalette(pal); +} + +int +main(void) +{ +#ifdef SET_WAITCNT + // Set ROM WAITCNT + *((volatile u16 *)0x04000204) = 0x4317; +#endif + InitInterrupt(); + REG_SOUNDCNT_X = 0; + + setupTile(); + + int bgmapIndex = 31; + + SetMode(MODE_0 | BG0_ON); + REG_BG0CNT = BG_SIZE_0 | BG_PRIORITY(3) | BG_16_COLOR | + CHAR_BASE(0) | SCREEN_BASE(bgmapIndex); + + int fontTileIndex = 1; + int fontTileSize = 30 * 20; // (240 / 8) * (160 / 8) == 30 * 20. + FontHandler::initialize(fontTileIndex, fontTileSize); + + int palette = 1; + FontHandler::StringInfo si; + + const char *message[] = { + "** FontHandler Test **", + "", + "http://gba.pqrs.org/", + "", + "[ Combine test ] http, credits", + "[ NUMBER ] 0123456789", + "[ LOWER ] abcdefghijklmnopqrstuvwxyz", + "[ UPPER ] ABCDEFGHIJKLMNOPQRSTUVWXYZ", + "[ SYMBOL ] ,_.!@#&$%^`~\"'*()-+=[]<>?/\\", + "hard", + "", + "", + NULL, + }; + int y = 1; + for (int i = 0; message[i] != NULL; ++i) { + FontHandler::makeString(&si, 2, message[i]); + FontHandler::drawString(0, y, palette, si, bgmapIndex); + ++y; + } + + int x = 29; + for (int i = 0; message[i] != NULL; ++i) { + FontHandler::makeStringVertical(&si, 2, message[i]); + FontHandler::drawStringVertical(x, 0, palette, si, bgmapIndex); + --x; + } + + SimpleString<128> line; + line.initialize(); + line.append("SimpleString Test "); + line.append(2, 1); + line.append(':'); + line.append(30, 2); + line.append(':'); + line.append(54, 2); + FontHandler::makeString(&si, 2, line.c_str()); + FontHandler::drawString(0, 18, palette, si, bgmapIndex); + + EnableInterrupt(IE_VBL); + for (;;) { + VBlankIntrWait(); + } +} diff --git a/libfont/test/simplestring.hpp b/libfont/test/simplestring.hpp new file mode 120000 index 0000000..b677b4b --- /dev/null +++ b/libfont/test/simplestring.hpp @@ -0,0 +1 @@ +../source/simplestring.hpp \ No newline at end of file diff --git a/libfont/test/tilerotate.hpp b/libfont/test/tilerotate.hpp new file mode 120000 index 0000000..473338c --- /dev/null +++ b/libfont/test/tilerotate.hpp @@ -0,0 +1 @@ +../source/tilerotate.hpp \ No newline at end of file diff --git a/libmisc/Makefile b/libmisc/Makefile new file mode 100644 index 0000000..69b24db --- /dev/null +++ b/libmisc/Makefile @@ -0,0 +1,9 @@ +CXXFLAGS += -Wall -I. -Itest -Isrc -O3 -fomit-frame-pointer -ffast-math -fno-exceptions + +OBJS = test/test.o + +all: $(OBJS) + gcc -o libmisc-test $(OBJS) + +clean: + rm -f src/*.o test/*.o libmisc-test diff --git a/libmisc/src/libcommon.hpp b/libmisc/src/libcommon.hpp new file mode 100644 index 0000000..d02a469 --- /dev/null +++ b/libmisc/src/libcommon.hpp @@ -0,0 +1,27 @@ +#ifndef COMMON_HPP +#define COMMON_HPP + +#include + +class Common { +public: + enum Params { + NUM_SPRITE = 128, + SCREEN_SIZE_X = 240, + SCREEN_SIZE_Y = 160, + }; + + static void irqFuncDummy(void) {} + + static void initializeSprites(void) { + u32 i; + + for (i = 0; i < NUM_SPRITE; ++i) { + OAM[i].attr0 = SCREEN_SIZE_Y; //y to > 159 + OAM[i].attr1 = SCREEN_SIZE_X; //x to > 239 + OAM[i].attr2 = 0; + } + } +}; + +#endif diff --git a/libmisc/src/libeffect.hpp b/libmisc/src/libeffect.hpp new file mode 100644 index 0000000..27b9cbd --- /dev/null +++ b/libmisc/src/libeffect.hpp @@ -0,0 +1,58 @@ +#ifndef LIBEFFECT_HPP +#define LIBEFFECT_HPP + +#include "libcommon.hpp" + +template +class Effect { +public: + enum Params { + EFFECT_TIME_MAX = _EFFECT_FRAMES_PER_PATTERN * _PATTERN_SIZE, + }; + + void initialize(void) { + time = 0; + } + + void setup(int _posx, int _posy) { + posx = _posx; + posy = _posy; + time = EFFECT_TIME_MAX; + } + + void step(void) { + if (time > 0) { + --time; + OBJATTR * const p = OAM + _OAM_INDEX; + if (time == 0) { + // erase effect + p->attr0 = Common::SCREEN_SIZE_Y; + } else { + int pattern = _OBJTILE_INDEX + (time / _EFFECT_FRAMES_PER_PATTERN) * _OBJTILE_SIZE; + + p->attr0 = (posy & 0xff) | _SPRITE_SHAPE; + p->attr1 = (posx & 0x1ff) | _SPRITE_SIZE; + p->attr2 = OBJ_PRIORITY(_OBJ_PRIORITY) | OBJ_PALETTE(_OBJ_PALETTE) | pattern; + } + } + } + + bool isAlive(void) const { return time > 0; } + int getWidth(void) const { return _WIDTH; } + int getHeight(void) const { return _HEIGHT; } + bool isFirstFrame(void) const { return time == EFFECT_TIME_MAX; } + int getLife(void) const { return time; } + + int getPosX(void) const { return posx; } + int getPosY(void) const { return posy; } + +private: + int posx; + int posy; + int time; +}; + +#endif diff --git a/libmisc/src/libgbakey.cpp b/libmisc/src/libgbakey.cpp new file mode 100644 index 0000000..f99d238 --- /dev/null +++ b/libmisc/src/libgbakey.cpp @@ -0,0 +1,6 @@ +#include "libgbakey.hpp" + +u16 GBAKey::up; +u16 GBAKey::down; +u16 GBAKey::held; +u16 GBAKey::last; diff --git a/libmisc/src/libgbakey.hpp b/libmisc/src/libgbakey.hpp new file mode 100644 index 0000000..073131f --- /dev/null +++ b/libmisc/src/libgbakey.hpp @@ -0,0 +1,63 @@ +#ifndef LIBGBAKEY_HPP +#define LIBGBAKEY_HPP + +#include + +class GBAKey { +public: + static void initialize(void) { + up = 0; + down = 0; + held = 0; + last = 0; + } + + // Note: It'd be usually recommended to read-out REG_KEYINPUT only once per frame. + + static u16 getPressKeyBit_REG_KEYINPUT(void) { + return (REG_KEYINPUT & 0x03ff) ^ 0x03ff; + } + + static void scanKeys(void) { + scanKeys(getPressKeyBit_REG_KEYINPUT()); + } + + static void scanKeys(u16 keysHeld) { + last = held; + held = keysHeld; + + u16 pressed = held & ( last ^ 0x03ff); + down |= pressed; + + u16 released = ((held ^ 0x03ff) & last); + up |= released; + + down &= ~released; + up &= ~pressed; + } + + static u16 getKeysDown(void) { + u16 tmp = down; + down = 0; + return tmp; + } + + static u16 getKeysUp(void) { + u16 tmp = up; + up = 0; + + return tmp; + } + + static u16 getKeysHeld(void) { + return held; + } + +private: + static u16 up; + static u16 down; + static u16 held; + static u16 last; +}; + +#endif diff --git a/libmisc/src/libkeylog.cpp b/libmisc/src/libkeylog.cpp new file mode 100644 index 0000000..ee7b5ae --- /dev/null +++ b/libmisc/src/libkeylog.cpp @@ -0,0 +1,71 @@ +#include +#include "libkeylog.hpp" + +// ------------------------------------------------------------ +/** + * Save with Compress. + * Compression Algorithm: AAAABBCCC -> A4B2C3 + * + * @param[in] sram SRAM address (if NULL, calc write byte count only) + * + * @return write byte count. + */ + +int +KeyLog::saveToSRAM(SRAMFileSystem::FilePtr *ptr) +{ + int writeNum = 0; + + u8 count; + u16 prevPressKeyBit; + + u16 *p = pressKeyBit; + u16 *end = pressKeyBit + index; + while (p < end) { + count = 0; + prevPressKeyBit = *p; + while (*p == prevPressKeyBit && count < 0xff && p < end) { + ++count; + ++p; + } + + if (ptr) { + ptr->write_u8(count); + ptr->write_u16(prevPressKeyBit); + } + writeNum += 1 + 2; + } + // set last item's count = 0; + if (ptr) { + ptr->write_u8(0); + } + writeNum += 1; + + return writeNum; +} + +void +KeyLog::loadFromSRAM(SRAMFileSystem::FilePtr *ptr) +{ + resetIndex(); + + int num = 0; + for (;;) { + u8 count = ptr->read_u8(); + if (count == 0) { + break; + } + + u16 key = ptr->read_u16(); + for (u32 i = 0; i < count; ++i) { + push(key); + + ++num; + if (num >= LISTKEYLOG_SIZE) { + break; + } + } + } + + resetIndex(); +} diff --git a/libmisc/src/libkeylog.hpp b/libmisc/src/libkeylog.hpp new file mode 100644 index 0000000..93d57fd --- /dev/null +++ b/libmisc/src/libkeylog.hpp @@ -0,0 +1,40 @@ +#ifndef LIBKEYLOG_HPP +#define LIBKEYLOG_HPP + +#include "libsram_fs.hpp" + +class KeyLog { +public: + enum { + // LISTKEYLOG_SIZE must be 2^x + LISTKEYLOG_SIZE = 16384, // 4 min (60 * 60 * 4). + }; + + void resetIndex() { + index = 0; + } + + void succIndex() { + index = (index + 1) & (LISTKEYLOG_SIZE - 1); + } + + void push(u16 _pressKeyBit) { + pressKeyBit[index] = _pressKeyBit; + succIndex(); + } + + u16 shift() { + u16 tmp = pressKeyBit[index]; + succIndex(); + return tmp; + } + + int saveToSRAM(SRAMFileSystem::FilePtr *ptr); + void loadFromSRAM(SRAMFileSystem::FilePtr *ptr); + +private: + u16 pressKeyBit[LISTKEYLOG_SIZE]; + int index; +}; + +#endif diff --git a/libmisc/src/libplaytime.hpp b/libmisc/src/libplaytime.hpp new file mode 100644 index 0000000..7af55f3 --- /dev/null +++ b/libmisc/src/libplaytime.hpp @@ -0,0 +1,55 @@ +#ifndef LIBPLAYTIME_HPP +#define LIBPLAYTIME_HPP + +class PlayTime { +public: + PlayTime(void) { initialize(); } + PlayTime(int intVal) { initialize(intVal); } + + void initialize(void) { + min = 0; + sec = 0; + frame = 0; + } + + void initialize(int intVal) { + frame = intVal & 0xff; + intVal >>= 8; + sec = intVal & 0xff; + intVal >>= 8; + min = intVal & 0xff; + } + + int toInt(void) const { + return (min << 16) | (sec << 8) | frame; + } + + void succFrame(void) { + ++frame; + if (frame == 60) { + frame = 0; + ++sec; + if (sec == 60) { + sec = 0; + ++min; + } + } + } + + int getMin(void) const {return min;} + int getSec(void) const {return sec;} + int getMilliSec(void) const { + return Div(frame * (1000 / 60), 10); + } + + int getTotalFrame(void) const { + return frame + sec * 60 + min * 60 * 60; + } + +private: + char min; + char sec; + char frame; // 1/60 +}; + +#endif diff --git a/libmisc/test/test.cpp b/libmisc/test/test.cpp new file mode 100644 index 0000000..58d7906 --- /dev/null +++ b/libmisc/test/test.cpp @@ -0,0 +1,33 @@ +#include +#include + +#define Div(x,y) (x / y) +#define DivMod(x,y) (x % y) + +#include "libplaytime.hpp" + +void +displayPlayTime(PlayTime &playTime) +{ + printf("%10d %02d:%02d:%02d\n", + playTime.toInt(), + playTime.getMin(), + playTime.getSec(), + playTime.getMilliSec()); +} + +int +main() +{ + PlayTime playTime; + + playTime.initialize(); + for (int i = 0; i < 512; ++i) { + displayPlayTime(playTime); + playTime.succFrame(); + } + + printf("\n\n----\ninit 2078\n"); + playTime.initialize(2078); + displayPlayTime(playTime); +} diff --git a/libsound/Makefile b/libsound/Makefile new file mode 100644 index 0000000..4d423dc --- /dev/null +++ b/libsound/Makefile @@ -0,0 +1,148 @@ +#--------------------------------------------------------------------------------- +# Clear the implicit built in rules +#--------------------------------------------------------------------------------- +.SUFFIXES: +#--------------------------------------------------------------------------------- +ifeq ($(strip $(DEVKITARM)),) +$(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM) +endif + +include $(DEVKITARM)/gba_rules + +#--------------------------------------------------------------------------------- +# TARGET is the name of the output, if this ends with _mb a multiboot image is generated +# BUILD is the directory where object files & intermediate files will be placed +# SOURCES is a list of directories containing source code +# DATA is a list of directories containing data files +# INCLUDES is a list of directories containing header files +#--------------------------------------------------------------------------------- +TARGET := $(shell basename $(CURDIR)) +BUILD := build +SOURCES := test +DATA := audio +INCLUDES := test + +#--------------------------------------------------------------------------------- +# options for code generation +#--------------------------------------------------------------------------------- +ARCH := -mthumb -mthumb-interwork +#ARCH := -mthumb-interwork + +CFLAGS := -Wall -O6 \ + -mcpu=arm7tdmi -mtune=arm7tdmi\ + -fomit-frame-pointer\ + -ffast-math \ + -DSET_WAITCNT \ + $(ARCH) + +CFLAGS += $(INCLUDE) +# "-mstructure-size-boundary=8" flag need to prevent "class-structure padding". +# -Wpadded +CXXFLAGS = $(CFLAGS) -fno-exceptions -mstructure-size-boundary=8 # -Wpadded + + +ASFLAGS := $(ARCH) +LDFLAGS = -g $(ARCH) -Wl,-Map,$(notdir $@).map + +#--------------------------------------------------------------------------------- +# path to tools - this can be deleted if you set the path to the toolchain in windows +#--------------------------------------------------------------------------------- +export PATH := $(DEVKITARM)/bin:$(PATH) + +#--------------------------------------------------------------------------------- +# any extra libraries we wish to link with the project +#--------------------------------------------------------------------------------- +LIBS := -lgba + +#--------------------------------------------------------------------------------- +# list of directories containing libraries, this must be the top level containing +# include and lib +#--------------------------------------------------------------------------------- +LIBDIRS := $(LIBGBA) + +#--------------------------------------------------------------------------------- +# no real need to edit anything past this point unless you need to add additional +# rules for different file extensions +#--------------------------------------------------------------------------------- +ifneq ($(BUILD),$(notdir $(CURDIR))) +#--------------------------------------------------------------------------------- + +export OUTPUT := $(CURDIR)/$(TARGET) +export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ + $(foreach dir,$(DATA),$(CURDIR)/$(dir)) + +export DEPSDIR := $(CURDIR)/$(BUILD) + +#--------------------------------------------------------------------------------- +# automatically build a list of object files for our project +#--------------------------------------------------------------------------------- +CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) +CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) +SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) +BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.o))) + +#--------------------------------------------------------------------------------- +# use CXX for linking C++ projects, CC for standard C +#--------------------------------------------------------------------------------- +ifeq ($(strip $(CPPFILES)),) +#--------------------------------------------------------------------------------- + export LD := $(CC) +#--------------------------------------------------------------------------------- +else +#--------------------------------------------------------------------------------- + export LD := $(CXX) +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- + +export OFILES := $(addprefix ../$(DATA)/,$(BINFILES)) $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) + +#--------------------------------------------------------------------------------- +# build a list of include paths +#--------------------------------------------------------------------------------- +export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ + $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ + -I$(CURDIR)/$(BUILD) + +#--------------------------------------------------------------------------------- +# build a list of library paths +#--------------------------------------------------------------------------------- +export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) + +.PHONY: $(BUILD) clean + +#--------------------------------------------------------------------------------- +$(BUILD): + @[ -d $@ ] || mkdir -p $@ + @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +all : $(BUILD) +#--------------------------------------------------------------------------------- +clean: + @echo clean ... + @rm -fr $(BUILD) $(TARGET).elf $(TARGET).gba + +#--------------------------------------------------------------------------------- +else + +DEPENDS := $(OFILES:.o=.d) + +#--------------------------------------------------------------------------------- +# main targets +#--------------------------------------------------------------------------------- +$(OUTPUT).gba : $(OUTPUT).elf + +$(OUTPUT).elf : $(OFILES) + +%.o : %.pcx + @echo $(notdir $<) + @$(bin2o) + +-include $(DEPENDS) + +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- + +run: + VisualBoyAdvance $(TARGET).gba diff --git a/libsound/audio/MEMO b/libsound/audio/MEMO new file mode 100644 index 0000000..ffd5294 --- /dev/null +++ b/libsound/audio/MEMO @@ -0,0 +1,8 @@ +Note: + +sox ~/audio/music/forc/loop1.mp3 -c 1 -b -r 16384 music01.wav +sox ~/audio/music/forc/loop5.mp3 -c 1 -b -r 16384 music02.wav +sox ~/audio/music/forc/loop6.mp3 -c 1 -b -r 16384 music03.wav + +sox ~/audio/se/forc/effect4.wav -c 1 -b -r 16384 se01.wav +sox ~/audio/se/forc/effect3.wav -c 1 -b -r 16384 se02.wav diff --git a/libsound/audio/Makefile b/libsound/audio/Makefile new file mode 100644 index 0000000..db13e00 --- /dev/null +++ b/libsound/audio/Makefile @@ -0,0 +1,6 @@ +all: + ./conv.sh + ./make-audiodef.sh > audiodef.hpp + +clean: + rm -f *.raw *.o diff --git a/libsound/audio/audiodef.hpp b/libsound/audio/audiodef.hpp new file mode 100644 index 0000000..c2a3c1a --- /dev/null +++ b/libsound/audio/audiodef.hpp @@ -0,0 +1,30 @@ +#ifndef AUDIODEF_HPP +#define AUDIODEF_HPP + +extern const char _binary_music01_raw_start[]; +extern const char _binary_music01_raw_end[]; +extern const char _binary_music01_raw_size[]; +const int _filesize_music01_raw = 99723; + +extern const char _binary_music02_raw_start[]; +extern const char _binary_music02_raw_end[]; +extern const char _binary_music02_raw_size[]; +const int _filesize_music02_raw = 138242; + +extern const char _binary_music03_raw_start[]; +extern const char _binary_music03_raw_end[]; +extern const char _binary_music03_raw_size[]; +const int _filesize_music03_raw = 197732; + +extern const char _binary_se01_raw_start[]; +extern const char _binary_se01_raw_end[]; +extern const char _binary_se01_raw_size[]; +const int _filesize_se01_raw = 33812; + +extern const char _binary_se02_raw_start[]; +extern const char _binary_se02_raw_end[]; +extern const char _binary_se02_raw_size[]; +const int _filesize_se02_raw = 23112; + +#endif + diff --git a/libsound/audio/conv.sh b/libsound/audio/conv.sh new file mode 100755 index 0000000..e2bdc8f --- /dev/null +++ b/libsound/audio/conv.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +for f in *.wav; do + name=$(basename $f .wav) + rawfile=${name}.raw + sox $f -r 16384 -c 1 -b -s $rawfile + arm-elf-objcopy --rename-section .data=.rodata -I binary -O elf32-littlearm -B ARM $rawfile ${name}.o +done diff --git a/libsound/audio/make-audiodef.sh b/libsound/audio/make-audiodef.sh new file mode 100755 index 0000000..402daee --- /dev/null +++ b/libsound/audio/make-audiodef.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +echo "#ifndef AUDIODEF_HPP" +echo "#define AUDIODEF_HPP" +echo + +for f in *.o; do + name=$(basename $f .o) + filesize=$(stat -c '%s' ${name}.raw) + echo "extern const char _binary_${name}_raw_start[];" + echo "extern const char _binary_${name}_raw_end[];" + echo "extern const char _binary_${name}_raw_size[];" + echo "const int _filesize_${name}_raw = $filesize;" + echo +done + +echo "#endif" +echo diff --git a/libsound/audio/music01.wav b/libsound/audio/music01.wav new file mode 100644 index 0000000..44895ee Binary files /dev/null and b/libsound/audio/music01.wav differ diff --git a/libsound/audio/music02.wav b/libsound/audio/music02.wav new file mode 100644 index 0000000..38108d1 Binary files /dev/null and b/libsound/audio/music02.wav differ diff --git a/libsound/audio/music03.wav b/libsound/audio/music03.wav new file mode 100644 index 0000000..d83796f Binary files /dev/null and b/libsound/audio/music03.wav differ diff --git a/libsound/audio/se01.wav b/libsound/audio/se01.wav new file mode 100644 index 0000000..d199253 Binary files /dev/null and b/libsound/audio/se01.wav differ diff --git a/libsound/audio/se02.wav b/libsound/audio/se02.wav new file mode 100644 index 0000000..efdfbcb Binary files /dev/null and b/libsound/audio/se02.wav differ diff --git a/libsound/source/soundhandler.cpp b/libsound/source/soundhandler.cpp new file mode 100644 index 0000000..30fd654 --- /dev/null +++ b/libsound/source/soundhandler.cpp @@ -0,0 +1,4 @@ +#include "soundhandler.hpp" + +SoundCore SoundHandler::soundCoreMusic; +SoundCore SoundHandler::soundCoreSE; diff --git a/libsound/source/soundhandler.hpp b/libsound/source/soundhandler.hpp new file mode 100644 index 0000000..0d3fec5 --- /dev/null +++ b/libsound/source/soundhandler.hpp @@ -0,0 +1,209 @@ +#ifndef SOUNDHANDLER_HPP +#define SOUNDHANDLER_HPP + +#include +#include "boost/static_assert.hpp" + +#include "soundresource.hpp" + +template +class SoundCore { +public: + enum Action { + ACTION_DONOTHING = 0, + ACTION_START, + ACTION_STOP, + ACTION_PLAYING, + }; + + void initialize(void) { + action = ACTION_DONOTHING; + index = static_cast(0); + counter = 0; + + irqfunc_setDMAStop(); + + if (USE_FIFO_A) { + REG_TM0CNT_L = 0xffff - (SoundResource::CPU_CLOCK / SoundResource::AUDIO_RATE); + } else { + REG_TM1CNT_L = 0xffff - (SoundResource::CPU_CLOCK / SoundResource::AUDIO_RATE); + } + } + + void play(SoundResource::SoundIndex _index, bool _isIntro) { + // !! set ACTION_DONOTHING first !! + // for irq_vblank calling while this function. + action = ACTION_DONOTHING; + + index = _index; + isIntro = _isIntro; + + // now irq_vblank ready. set ACTION_START. + action = ACTION_START; + } + + void stop(void) { + action = ACTION_STOP; + } + + void irq_vblank(void) { + if (action == ACTION_START) { + action = ACTION_PLAYING; + irqfunc_actionStart(); + return; + + } else if (action == ACTION_STOP) { + action = ACTION_DONOTHING; + irqfunc_actionStop(); + return; + + } else if (action == ACTION_PLAYING) { + --counter; + if (counter <= 0) { + if (irqfunc_isLoop()) { + if (isIntro) { + index = SoundResource::SoundIndex(index + 1); + isIntro = false; + } + irqfunc_actionStart(); + } else { + action = ACTION_DONOTHING; + irqfunc_actionStop(); + } + } + } + } + + SoundResource::SoundIndex getIndex(void) const { return index; } + bool isPlaying(void) const { return action == ACTION_PLAYING; } + +private: + void irqfunc_setDMAStart(void) { + if (USE_FIFO_A) { + DMA1COPY(SoundResource::listSoundInfo[index].data, ®_FIFO_A, DMA_SPECIAL | DMA32 | DMA_REPEAT | DMA_SRC_INC | DMA_DST_FIXED); + } else { + DMA2COPY(SoundResource::listSoundInfo[index].data, ®_FIFO_B, DMA_SPECIAL | DMA32 | DMA_REPEAT | DMA_SRC_INC | DMA_DST_FIXED); + } + irqfunc_setTimerStart(); + } + + void irqfunc_setDMAStop(void) { + irqfunc_setTimerStop(); + + if (USE_FIFO_A) { + REG_DMA1CNT = 0; + } else { + REG_DMA2CNT = 0; + } + } + + void irqfunc_setTimerStart(void) { + if (USE_FIFO_A) { + REG_TM0CNT_H = TIMER_START; + } else { + REG_TM1CNT_H = TIMER_START; + } + } + + void irqfunc_setTimerStop(void) { + if (USE_FIFO_A) { + REG_TM0CNT_H = 0; + } else { + REG_TM1CNT_H = 0; + } + } + + void irqfunc_setSoundRegStart(void) { + if (USE_FIFO_A) { + REG_SOUNDCNT_H |= (SNDA_R_ENABLE | SNDA_L_ENABLE | SNDA_RESET_FIFO); + } else { + REG_SOUNDCNT_H |= (SNDB_R_ENABLE | SNDB_L_ENABLE | SNDB_RESET_FIFO); + } + } + + void irqfunc_setSoundRegStop(void) { + if (USE_FIFO_A) { + REG_SOUNDCNT_H &= ~(SNDA_R_ENABLE | SNDA_L_ENABLE); + } else { + REG_SOUNDCNT_H &= ~(SNDB_R_ENABLE | SNDB_L_ENABLE); + } + } + + void irqfunc_actionStop(void) { + irqfunc_setSoundRegStop(); + irqfunc_setDMAStop(); + index = static_cast(0); + counter = 0; + } + + void irqfunc_actionStart(void) { + counter = SoundResource::listSoundInfo[index].playFrameSize; + irqfunc_setDMAStop(); + irqfunc_setDMAStart(); + irqfunc_setSoundRegStart(); + } + + bool irqfunc_isLoop(void) const { + return SoundResource::listSoundInfo[index].loopFlag; + } + + volatile Action action; + volatile SoundResource::SoundIndex index; + int counter; + bool isIntro; +}; + + +class SoundHandler { +public: + static void initialize(void) { + soundCoreMusic.initialize(); + soundCoreSE.initialize(); + + REG_SOUNDCNT_X = (1<<7); + REG_SOUNDCNT_L = 0; + REG_SOUNDCNT_H = + SNDA_RESET_FIFO | + SNDB_RESET_FIFO | + SNDA_VOL_100 | + SNDB_VOL_100 | + (0 << 10) | // SNDA_TIMER0 + (1 << 14); // SNDB_TIMER1 + + BOOST_STATIC_ASSERT((SoundResource::CPU_CLOCK / SoundResource::AUDIO_RATE) < 0xffff); + } + + static void terminate() { + REG_SOUNDCNT_X = 0; + } + + static void irq_vblank(void) { + soundCoreMusic.irq_vblank(); + soundCoreSE.irq_vblank(); + } + + static void playMusic(SoundResource::SoundIndex _index, bool _isIntro) { + soundCoreMusic.play(_index, _isIntro); + } + static void stopMusic(void) { + soundCoreMusic.stop(); + } + + static void playSE(SoundResource::SoundIndex _index) { + soundCoreSE.play(_index, false); + } + static void stopSE(void) { + soundCoreSE.stop(); + } + + static SoundResource::SoundIndex getMusicIndex(void) { return soundCoreMusic.getIndex(); } + static SoundResource::SoundIndex getSEIndex(void) { return soundCoreSE.getIndex(); } + static bool isMusicPlaying(void) { return soundCoreMusic.isPlaying(); } + static bool isSEPlaying(void) { return soundCoreSE.isPlaying(); } + +private: + static SoundCore soundCoreMusic; + static SoundCore soundCoreSE; +}; + +#endif diff --git a/libsound/test/audiodef.hpp b/libsound/test/audiodef.hpp new file mode 120000 index 0000000..52e814a --- /dev/null +++ b/libsound/test/audiodef.hpp @@ -0,0 +1 @@ +../audio/audiodef.hpp \ No newline at end of file diff --git a/libsound/test/boost b/libsound/test/boost new file mode 120000 index 0000000..e732924 --- /dev/null +++ b/libsound/test/boost @@ -0,0 +1 @@ +../../boost \ No newline at end of file diff --git a/libsound/test/main.cpp b/libsound/test/main.cpp new file mode 100644 index 0000000..fba5eca --- /dev/null +++ b/libsound/test/main.cpp @@ -0,0 +1,48 @@ +#include +#include "soundhandler.hpp" + +int +main(void) +{ +#ifdef SET_WAITCNT + // Set ROM WAITCNT + *((volatile u16 *)0x04000204) = 0x4317; +#endif + InitInterrupt(); + REG_SOUNDCNT_X = 0; + + SetMode(MODE_0 | BG0_ON); + + SoundHandler::initialize(); + + SetInterrupt(IE_VBL, SoundHandler::irq_vblank); + EnableInterrupt(IE_VBL); + + SoundHandler::playMusic(SoundResource::MUSIC01); + + for (;;) { + ScanKeys(); + u16 keys = KeysDown(); + if (keys & KEY_UP) { + SoundHandler::playMusic(SoundResource::MUSIC01); + } + if (keys & KEY_DOWN) { + SoundHandler::playMusic(SoundResource::MUSIC02); + } + if (keys & KEY_LEFT) { + SoundHandler::playMusic(SoundResource::MUSIC03); + } + if (keys & KEY_RIGHT) { + SoundHandler::stopMusic(); + } + + if (keys & KEY_A) { + SoundHandler::playSE(SoundResource::SE01); + } + if (keys & KEY_B) { + SoundHandler::playSE(SoundResource::SE02); + } + + VBlankIntrWait(); + } +} diff --git a/libsound/test/soundhandler.cpp b/libsound/test/soundhandler.cpp new file mode 120000 index 0000000..d096dd4 --- /dev/null +++ b/libsound/test/soundhandler.cpp @@ -0,0 +1 @@ +../source/soundhandler.cpp \ No newline at end of file diff --git a/libsound/test/soundhandler.hpp b/libsound/test/soundhandler.hpp new file mode 120000 index 0000000..0366eed --- /dev/null +++ b/libsound/test/soundhandler.hpp @@ -0,0 +1 @@ +../source/soundhandler.hpp \ No newline at end of file diff --git a/libsound/test/soundresource.hpp b/libsound/test/soundresource.hpp new file mode 100644 index 0000000..b292b48 --- /dev/null +++ b/libsound/test/soundresource.hpp @@ -0,0 +1,45 @@ +#ifndef SOUNDRESOURCE_HPP +#define SOUNDRESOURCE_HPP + +#include "audiodef.hpp" + +namespace SoundResource { + enum { + CPU_CLOCK = 16 * 1024 * 1024, + AUDIO_RATE = 16384, + }; + + enum SoundIndex { + MUSIC01, + MUSIC02, + MUSIC03, + + SE01, + SE02, + }; + + template struct getPlayFrameSize { + enum { + value = filesize * 60 / AUDIO_RATE + adjust, + }; + BOOST_STATIC_ASSERT(value > 0); + }; + + struct SoundInfo { + const char *data; + const int playFrameSize; + const bool loopFlag; + }; + +#define SOUNDINFO_INIT(NAME, ADJUST, LOOP) {_binary_##NAME##_raw_start, getPlayFrameSize<_filesize_##NAME##_raw, ADJUST>::value, LOOP} + const SoundInfo listSoundInfo[] = { + SOUNDINFO_INIT(music01, -2, true), + SOUNDINFO_INIT(music02, -6, true), + SOUNDINFO_INIT(music03, -6, true), + + SOUNDINFO_INIT(se01, 0, false), + SOUNDINFO_INIT(se02, 0, false), + }; +} + +#endif diff --git a/libsram/Makefile b/libsram/Makefile new file mode 100644 index 0000000..019d99e --- /dev/null +++ b/libsram/Makefile @@ -0,0 +1,9 @@ +CXXFLAGS += -Wall -I. -Itest -Isrc -I../libstack/src -I$(DEVKITPRO)/libgba/include -I.. -O3 -fomit-frame-pointer -ffast-math -fno-exceptions -DSRAM_TEST -Wall + +OBJS = src/libsram_ptr.o src/libsram_fs.o test/test.o + +all: $(OBJS) + gcc -o libsram-test $(OBJS) -lm + +clean: + rm -f src/*.o test/*.o libsram-test *.sav *.raw diff --git a/libsram/src/libsram_fs.cpp b/libsram/src/libsram_fs.cpp new file mode 100644 index 0000000..5638e1c --- /dev/null +++ b/libsram/src/libsram_fs.cpp @@ -0,0 +1,210 @@ +#include "libsram_fs.hpp" + +SRAMFileSystem::SRAMFileSystem(u8 * const _baseaddr, const char *signature, FileMode _fileMode) + : baseaddr(_baseaddr), + cacheFileDescriptorInfo(*this), + cacheNextBlockIndex(*this), + fileMode(_fileMode) +{ + if (! checkHeader(signature)) { + writeHeader(signature); + + // clear metadata + cacheFileDescriptorInfo.clearSRAM(); + cacheNextBlockIndex.clearSRAM(); + } else { + // load metadata cache + cacheFileDescriptorInfo.loadFromSRAM(); + cacheNextBlockIndex.loadFromSRAM(); + } + + // ------------------------------------------------------------ + // set stackFreeBlock + static bool blockUsedFlag[SRAM_BLOCK_NUM] EWRAM_DATA; + for (int i = 0; i < BLOCK_INDEX_BODY; ++i) { + blockUsedFlag[i] = true; + } + for (int i = BLOCK_INDEX_BODY; i < SRAM_BLOCK_NUM; ++i) { + blockUsedFlag[i] = false; + } + for (int i = 0; i < SRAM_BLOCK_NUM; ++i) { + int idx = cacheFileDescriptorInfo.get(i); + while (isBlockIndexValid(idx) && idx != 0) { + if (blockUsedFlag[idx]) { + // loop detect. invalied block status!! +#ifdef SRAM_TEST + printf("[ERROR] detect loop!!!\n"); +#endif + break; + } + blockUsedFlag[idx] = true; + idx = cacheNextBlockIndex.get(idx); + } + } + stackFreeBlock.initialize(); + for (int i = 0; i < SRAM_BLOCK_NUM; ++i) { + if (blockUsedFlag[i] == false) { + stackFreeBlock.push(i); + } + } +} + + +bool +SRAMFileSystem::checkHeader(const char *signature) const +{ + SRAMPtr p = getBlockAddr(BLOCK_INDEX_HEADER); + + // check signature + for (int i = 0; i < SIGNATURE_MAXLEN; ++i) { + if (p.read_u8() != signature[i]) { + return false; + } + + if (signature[i] == '\0') { + break; + } + } + + // check majorVersion + u8 majorVersion = p.read_u8(); + if (majorVersion != MAJOR_VERSION) { + return false; + } + + // check minorVersion + u8 minorVersion = p.read_u8(); + if (minorVersion != MINOR_VERSION) { + return false; + } + + return true; +} + +void +SRAMFileSystem::writeHeader(const char *signature) +{ + if (fileMode == FILEMODE_READONLY) { + return; + } + + SRAMPtr p = getBlockAddr(BLOCK_INDEX_HEADER); + + // write signature + for (int i = 0; i < SIGNATURE_MAXLEN; ++i) { + p.write_u8(signature[i]); + if (signature[i] == '\0') { + break; + } + } + + p.write_u8(MAJOR_VERSION); + p.write_u8(MINOR_VERSION); +} + + +////////////////////////////////////////////////////////////////////// +bool +SRAMFileSystem::newFile(FilePtr *ptr, int saveSize) +{ + ptr->setNULL(); + + int blockSize = calcBlockSize(saveSize); + + if (blockSize <= 0) { + return false; + } + if (blockSize > stackFreeBlock.getSize()) { + return false; + } + + // Note: alloc by last blocks. + + int prevBlockIndex = 0; + for (;;) { + int blockIndex = stackFreeBlock.pop(); + --blockSize; + + // set nextBlockIndex + cacheNextBlockIndex.set(blockIndex, prevBlockIndex); + prevBlockIndex = blockIndex; + + if (blockSize == 0) { + // set fileFirstIndex + for (int i = 0; i < SRAM_BLOCK_NUM; ++i) { + if (cacheFileDescriptorInfo.get(i) == 0) { + FileDescriptor fd(i); + cacheFileDescriptorInfo.set(i, blockIndex); + ptr->initialize(this, fd); + return true; + } + } + return false; + } + } +} + +void +SRAMFileSystem::deleteFile(const FilePtr &ptr) +{ + FileDescriptor fileDescriptor = ptr.getFileDescriptor(); + int blockIndex = cacheFileDescriptorInfo.get(fileDescriptor); + + // clear cacheFileDescriptorInfo + cacheFileDescriptorInfo.set(fileDescriptor, 0); + + // clear nextBlockIndex + while (isBlockIndexValid(blockIndex) && blockIndex != 0) { + u8 next = cacheNextBlockIndex.get(blockIndex); + + stackFreeBlock.push(blockIndex); + cacheNextBlockIndex.set(blockIndex, 0); + + blockIndex = next; + } +} + +// ------------------------------------------------------------ +void +SRAMFileSystem::findFileFirstBlock(FilePtr *ptr, int start) const +{ + ptr->setNULL(); + + if (start < 0) { + return; + } + + for (int i = start; i < SRAM_BLOCK_NUM; ++i) { + int blockIndex = cacheFileDescriptorInfo.get(i); + + if (isBlockIndexValid(blockIndex) && blockIndex != 0) { + ptr->initialize(this, i); + return; + } + } +} + +void +SRAMFileSystem::getFirstFile(FilePtr *ptr) const +{ + findFileFirstBlock(ptr, 0); +} + +void +SRAMFileSystem::getNextFile(FilePtr *ptr) const +{ + if (! ptr->isNULL()) { + findFileFirstBlock(ptr, ptr->getFileDescriptor() + 1); + } +} + +void +SRAMFileSystem::deleteAllFiles(void) +{ + FilePtr p; + getFirstFile(&p); + while (! p.isNULL()) { + deleteFile(p); + getNextFile(&p); + } +} diff --git a/libsram/src/libsram_fs.hpp b/libsram/src/libsram_fs.hpp new file mode 100644 index 0000000..0e97971 --- /dev/null +++ b/libsram/src/libsram_fs.hpp @@ -0,0 +1,315 @@ +#ifndef LIBSRAM_FS_HPP +#define LIBSRAM_FS_HPP + +#include +#include "libsram_ptr.hpp" +#include "libstack.hpp" + +/** + * SRAM format + * + * split 64 Kbyte SRAM to 256 byte blocks (256 blocks) + * + * block[0]: signature, majorVersion, minorVersion + * block[1]: FileDescriptorInfo (blockIndex of firstBlock) + * block[2]: nextBlockIndex + * block[3] - block[255]: data + */ + +class SRAMFileSystem { +public: + enum ConfigurationParams { + MAJOR_VERSION = 1, + MINOR_VERSION = 0, + + SIGNATURE_MAXLEN = 32, + + SRAM_TOTAL_SIZE = 32768, // 256Kbit + SRAM_BLOCK_SIZE = 256, // must be 2^x + }; + + enum InternalParams { + SRAM_BLOCK_NUM = SRAM_TOTAL_SIZE / SRAM_BLOCK_SIZE, + + BLOCK_INDEX_HEADER = 0, + BLOCK_INDEX_FILE_FIRST_INDEX = 1, + BLOCK_INDEX_NEXT_BLOCK_INDEX = 2, + BLOCK_INDEX_BODY = 3, + }; + BOOST_STATIC_ASSERT(static_cast(SRAM_BLOCK_NUM) <= static_cast(SRAM_BLOCK_SIZE)); + + enum PublicParams { + MAX_FILE_NUM = SRAM_BLOCK_NUM, + MAX_FILE_SIZE = (SRAM_BLOCK_NUM - BLOCK_INDEX_BODY) * SRAM_BLOCK_SIZE, + }; + + enum FileMode { + FILEMODE_READWRITE, + FILEMODE_READONLY, + }; + + class FileDescriptor { + public: + FileDescriptor(void) : value(-1) {} + FileDescriptor(int _value) : value(_value) {} + + operator int() const { return value; } + + private: + int value; + }; + + class FilePtr { + friend class SRAMFileSystem; + + public: + FilePtr(void) { setNULL(); } + + bool isNULL(void) const { return ptr.isNULL(); } + + void rewind(void) { + if (parent != NULL) { + int blockIndex = parent->cacheFileDescriptorInfo.get(fileDescriptor); + setPtr(blockIndex); + } + } + + void succ(int num) { + if (parent != NULL) { + for (int i = 0; i < num; ++i) { + ptr +=1; + normalize(); + } + } + } + + void write_u8(u8 data) { + if (parent == NULL) { + return; + } + if (parent->getFileMode() == FILEMODE_READONLY) { + return; + } + if (ptr.isNULL()) { + return; + } + ptr.write_u8(data); + normalize(); + } + void write_u16(u16 data) { + write_u8((data >> 0) & 0xff); + write_u8((data >> 8) & 0xff); + } + void write_u32(u32 data) { + write_u8((data >> 0) & 0xff); + write_u8((data >> 8) & 0xff); + write_u8((data >> 16) & 0xff); + write_u8((data >> 24) & 0xff); + } + + u8 read_u8(void) { + if (ptr.isNULL()) { + return 0; + } + u8 data = ptr.read_u8(); + normalize(); + + return data; + } + u16 read_u16(void) { + u16 data = read_u8(); + data |= (read_u8() << 8); + return data; + } + u32 read_u32(void) { + u32 data = read_u8(); + data |= (read_u8() << 8); + data |= (read_u8() << 16); + data |= (read_u8() << 24); + return data; + } + + int getBlockSize(void) const { + if (parent == NULL) { + return 0; + } + + int blockIndex = parent->cacheFileDescriptorInfo.get(fileDescriptor); + int size = 0; + while (parent->isBlockIndexValid(blockIndex) && blockIndex != 0) { + ++size; + blockIndex = parent->cacheNextBlockIndex.get(blockIndex); + } + return size; + } + + private: + const SRAMFileSystem *parent; // parent SRAMFileSystem + SRAMPtr ptr; // working ptr + SRAMPtr basePtr; // block base ptr + u8 nextBlockIndex; + u8 fileDescriptor; + + void initialize(const SRAMFileSystem *_parent, FileDescriptor fd) { + parent = _parent; + if (parent == NULL) { + setNULL(); + return; + } + fileDescriptor = fd; + + rewind(); + } + + int getFileDescriptor(void) const { return fileDescriptor; } + + void setNULL(void) { + parent = NULL; + ptr = SRAMPtr(NULL); + basePtr = ptr; + nextBlockIndex = 0; + fileDescriptor = 0; + } + + void normalize(void) { + if (ptr - basePtr == SRAM_BLOCK_SIZE) { + if (nextBlockIndex == 0) { + setNULL(); + } else { + setPtr(nextBlockIndex); + } + } + } + + void setPtr(int blockIndex) { + if (parent == NULL) { + return; + } + + if (parent->isBlockIndexValid(blockIndex)) { + ptr = parent->getBlockAddr(blockIndex); + basePtr = ptr; + nextBlockIndex = parent->cacheNextBlockIndex.get(blockIndex); + } else { + setNULL(); + } + } + }; + + template + class Cache { + public: + Cache(const SRAMFileSystem &_parent) : parent(_parent) {} + + void loadFromSRAM(void) { + SRAMPtr p = parent.getBlockAddr(_BLOCK_INDEX); + + for (int i = 0; i < SRAM_BLOCK_SIZE; ++i) { + data[i] = p.read_u8(); + } + } + void clearSRAM(void) { + if (parent.getFileMode() == FILEMODE_READONLY) { + return; + } + + SRAMPtr p = parent.getBlockAddr(_BLOCK_INDEX); + + for (int i = 0; i < SRAM_BLOCK_SIZE; ++i) { + p.write_u8(0); + data[i] = 0; + } + } + + int get(int index) const { + if (0 <= index && index < SRAM_BLOCK_SIZE) { + return data[index]; + } else { + return -1; + } + } + + void set(int index, u8 value) { + if (0 <= index && index < SRAM_BLOCK_SIZE) { + // set cache + data[index] = value; + + if (parent.getFileMode() == FILEMODE_READONLY) { + return; + } + + // write SRAM + SRAMPtr p = parent.getBlockAddr(_BLOCK_INDEX) + index; + p.write_u8(value); + } + } + + private: + const SRAMFileSystem &parent; + u8 data[SRAM_BLOCK_SIZE]; + }; + + + //////////////////////////////////////////////////////////////////////////////// + SRAMFileSystem(u8 * const _baseaddr, const char *signature, FileMode _fileMode = FILEMODE_READWRITE); + + /** + * Allocate new file. + * + * @param[out] ptr result FilePtr + * @param[in] saveSize filesize (byte). + * + * @return true if newFile succeed. + */ + bool newFile(FilePtr *ptr, int saveSize); + /** + * Delete file + * + * @param[in] ptr target FilePtr + */ + void deleteFile(const FilePtr &ptr); + + void getFirstFile(FilePtr *ptr) const; + void getNextFile(FilePtr *ptr) const; + + int getFreeBlockSize(void) const { + return stackFreeBlock.getSize(); + } + + u32 calcBlockSize(u32 dataSize) const { + if ((dataSize & (SRAM_BLOCK_SIZE - 1)) == 0) { + return dataSize / SRAM_BLOCK_SIZE; + } else { + return dataSize / SRAM_BLOCK_SIZE + 1; + } + } + + // utils + void deleteAllFiles(void); + +private: + u8 * const baseaddr; + + Cache cacheFileDescriptorInfo; + Cache cacheNextBlockIndex; + + Stack stackFreeBlock; + FileMode fileMode; + + // ------------------------------------------------------------ + bool checkHeader(const char *signature) const; + void writeHeader(const char *signature); + + bool isBlockIndexValid(int blockIndex) const { + return 0 <= blockIndex && blockIndex < SRAM_BLOCK_NUM; + } + u8 *getBlockAddr(int index) const { + return baseaddr + SRAM_BLOCK_SIZE * index; + } + + // ------------------------------------------------------------ + void findFileFirstBlock(FilePtr *ptr, int start) const; + FileMode getFileMode(void) const { return fileMode; } +}; + +#endif diff --git a/libsram/src/libsram_ptr.cpp b/libsram/src/libsram_ptr.cpp new file mode 100644 index 0000000..f86636f --- /dev/null +++ b/libsram/src/libsram_ptr.cpp @@ -0,0 +1,13 @@ +#include "libsram_ptr.hpp" + +void +SRAMPtr::write_u8(u8 data) +{ + *ptr++ = data; +} + +u8 +SRAMPtr::read_u8() +{ + return *ptr++; +} diff --git a/libsram/src/libsram_ptr.hpp b/libsram/src/libsram_ptr.hpp new file mode 100644 index 0000000..1f45ed2 --- /dev/null +++ b/libsram/src/libsram_ptr.hpp @@ -0,0 +1,41 @@ +#ifndef LIBSRAM_PTR_HPP +#define LIBSRAM_PTR_HPP + +#ifdef SRAM_TEST +#include +#undef IWRAM_CODE +#define IWRAM_CODE /* */ +#undef EWRAM_DATA +#define EWRAM_DATA /* */ +#else +#include +#endif + +#include "boost/static_assert.hpp" + +class SRAMPtr { +public: + SRAMPtr(void) { ptr = NULL; } + SRAMPtr(u8 *_ptr) { ptr = _ptr; } + SRAMPtr &operator=(SRAMPtr _ptr) { ptr = _ptr.ptr; return *this; } + + u8 *getPtr(void) const {return ptr;} + bool isNULL(void) const {return ptr == NULL;} + + SRAMPtr &operator+=(int num) { ptr += num; return *this; } + SRAMPtr &operator-=(int num) { ptr -= num; return *this; } + + const int operator-(SRAMPtr p) const { return ptr - p.ptr; } + + IWRAM_CODE void write_u8(u8 data); + + // Reading from SRAM should be performed by code exectued in WRAM only (but not by code executed in ROM). + IWRAM_CODE u8 read_u8(void); + +private: + u8 *ptr; +}; +BOOST_STATIC_ASSERT(sizeof(SRAMPtr) == 4); + + +#endif diff --git a/libsram/test/test.cpp b/libsram/test/test.cpp new file mode 100644 index 0000000..b7b8e89 --- /dev/null +++ b/libsram/test/test.cpp @@ -0,0 +1,270 @@ +#include +#include +#include +#include "libsram_fs.hpp" + +u8 SRAMbuf[32 * 1024]; + +void +saveToFile(const char *filename) { + FILE *fp = fopen(filename, "w"); + fwrite(SRAMbuf, sizeof(SRAMbuf), 1, fp); + fclose(fp); +} + +void +readFromFile(const char *filename) { + FILE *fp = fopen(filename, "r"); + if (fp) { + fread(SRAMbuf, sizeof(SRAMbuf), 1, fp); + fclose(fp); + } +} + +template +bool +writeOneFile(SRAMFileSystem *sramFS) { + //printf("writeOneFile\n"); + + u8 writeBuf[256 * _blockNum]; + for (u32 i = 0; i < sizeof(writeBuf) / 8; ++i) { + memset(writeBuf + i * 8, i, 8); + } + + writeBuf[0] = _blockNum; + + SRAMFileSystem::FilePtr p; + sramFS->newFile(&p, sizeof(writeBuf)); + if (p.isNULL()) { + return false; + } + + for (u32 i = 0; i < sizeof(writeBuf); ++i) { + p.write_u8(writeBuf[i]); + } + + return true; +} + +void +printFileSize(const SRAMFileSystem &sramFS) { + SRAMFileSystem::FilePtr p; + + sramFS.getFirstFile(&p); + while (! p.isNULL()) { + int size = p.read_u8(); + + if (p.getBlockSize() != size) { + printf("[ERROR] getFileBlockSize\n"); + } + printf("read_u8 = %d\n", size); + + sramFS.getNextFile(&p); + } +} + +void +outputFileDataToFile(const SRAMFileSystem &sramFS, const char *filename) { + SRAMFileSystem::FilePtr p; + + u8 readBuf[32 * 1024]; + u8 *buf = readBuf; + + sramFS.getFirstFile(&p); + + u32 size = p.read_u8() * SRAMFileSystem::SRAM_BLOCK_SIZE; + for (u32 i = 0; i < size; ++i) { + *buf++ = p.read_u8(); + } + + FILE *fp = fopen(filename, "w"); + fwrite(readBuf, size, 1, fp); + fclose(fp); +} + +void +deleteFileByBlockSize(SRAMFileSystem *sramFS, int blockSize) { + SRAMFileSystem::FilePtr p; + sramFS->getFirstFile(&p); + + while (! p.isNULL()) { + if (p.read_u8() == blockSize) { + sramFS->deleteFile(p); + } + sramFS->getNextFile(&p); + } +} + + +int +main(int argc, char **argv) +{ + if (argc == 1) { + printf("Usage\n"); + printf("1) FULLWRITE Test\n"); + printf(" %s a\n", argv[0]); + printf("2) ONEFILE Test\n"); + printf(" %s b\n", argv[0]); + printf("3) DELTEST Test\n"); + printf(" %s c\n", argv[0]); + printf("4) MISC-OPERATION Test\n"); + printf(" %s d\n", argv[0]); + printf("5) calc freeSize Test\n"); + printf(" %s e file.sav\n", argv[0]); + return 0; + } + + memset(SRAMbuf, 0xff, sizeof(SRAMbuf)); + + SRAMFileSystem sramFS(SRAMbuf, "testMOGEMOGE"); + saveToFile("test-init.sav"); + + int dataSize[] = {0, 1, 128, 256, 257, 512, 128 * 1024, -1}; + for (int i = 0; dataSize[i] != -1; ++i) { + printf("blocksize(%d) = %d\n", dataSize[i], sramFS.calcBlockSize(dataSize[i])); + } + + if (writeOneFile<512>(&sramFS) == true) { + printf("[ERROR] filesize check invalid \n"); + } + + switch (*(argv[1])) { + case 'a': + // full-write + { + printf("FULLWRITE\n"); + + writeOneFile<2>(&sramFS); + writeOneFile<3>(&sramFS); + writeOneFile<1>(&sramFS); + writeOneFile<1>(&sramFS); + writeOneFile<4>(&sramFS); + writeOneFile<1>(&sramFS); + + while (writeOneFile<16>(&sramFS)) + ; + saveToFile("test-fullwrite.sav"); + + SRAMFileSystem sramFS(SRAMbuf, "testMOGEMOGE"); + saveToFile("test-loadcheck.sav"); + + printFileSize(sramFS); + } + break; + + case 'b': + // one-file + { + printf("ONEFILE\n"); + + writeOneFile<2>(&sramFS); + + saveToFile("test-onefile.sav"); + + outputFileDataToFile(sramFS, "test-onefile.raw"); + printFileSize(sramFS); + } + break; + + case 'c': + // delete-test + { + printf("DELTEST\n"); + + int initialFreeBlocks = sramFS.getFreeBlockSize(); + + printf("free = %d\n", initialFreeBlocks); + + writeOneFile<2>(&sramFS); + printf("free = %d\n", sramFS.getFreeBlockSize()); + writeOneFile<3>(&sramFS); + printf("free = %d\n", sramFS.getFreeBlockSize()); + writeOneFile<1>(&sramFS); + printf("free = %d\n", sramFS.getFreeBlockSize()); + writeOneFile<1>(&sramFS); + printf("free = %d\n", sramFS.getFreeBlockSize()); + writeOneFile<4>(&sramFS); + printf("free = %d\n", sramFS.getFreeBlockSize()); + + saveToFile("test-deltest-internal.sav"); + + while (writeOneFile<16>(&sramFS)) + ; + + printf("free = %d\n", sramFS.getFreeBlockSize()); + + deleteFileByBlockSize(&sramFS, 1); // 1 * 3 blocks will be delete. + deleteFileByBlockSize(&sramFS, 2); // 2 * 1 blocks will be delete. + + if (writeOneFile<5>(&sramFS) == false) { + printf("[ERROR] fragment write error\n"); + } + saveToFile("test-fragment.sav"); + + deleteFileByBlockSize(&sramFS, 3); + deleteFileByBlockSize(&sramFS, 4); + deleteFileByBlockSize(&sramFS, 5); + deleteFileByBlockSize(&sramFS, 16); + + printf("free = %d\n", sramFS.getFreeBlockSize()); + if (sramFS.getFreeBlockSize() != initialFreeBlocks) { + printf("[ERROR] anywhere in delete\n"); + } + + saveToFile("test-deltest.sav"); + + printFileSize(sramFS); + + writeOneFile<2>(&sramFS); + writeOneFile<3>(&sramFS); + writeOneFile<1>(&sramFS); + writeOneFile<1>(&sramFS); + writeOneFile<4>(&sramFS); + writeOneFile<100>(&sramFS); + printf("free = %d (before deleteAllFiles)\n", sramFS.getFreeBlockSize()); + sramFS.deleteAllFiles(); + printf("free = %d (after deleteAllFiles)\n", sramFS.getFreeBlockSize()); + } + break; + + case 'd': + // misc-operation + { + printf("MISC-OPERATION\n"); + writeOneFile<2>(&sramFS); + + SRAMFileSystem::FilePtr p; + sramFS.getFirstFile(&p); + + u8 buf[SRAMFileSystem::SRAM_BLOCK_SIZE * 2]; + for (u32 i = 0; i < sizeof(buf); ++i) { + buf[i] = p.read_u8(); + } + sramFS.getFirstFile(&p); + for (u32 i = 0; i < sizeof(buf); ++i) { + p.rewind(); + p.succ(i); + if (buf[i] != p.read_u8()) { + printf("[ERROR] succ \n"); + } + } + } + break; + + case 'e': + { + printf("calc freeSize\n"); + + readFromFile(argv[2]); + SRAMFileSystem sramFS(SRAMbuf, "testMOGEMOGE"); + int freeBlock = sramFS.getFreeBlockSize(); + printf("FreeBlockSize = %d\n", freeBlock); + } + break; + + default: + printf("%c IS NOT SUPPORTED\n", *(argv[1])); + break; + } + return 0; +} diff --git a/libstack/Makefile b/libstack/Makefile new file mode 100644 index 0000000..5598a0c --- /dev/null +++ b/libstack/Makefile @@ -0,0 +1,9 @@ +CXXFLAGS += -Wall -I. -Itest -Isrc -O3 -fomit-frame-pointer -ffast-math -fno-exceptions -DFIXEDNUM_TEST + +OBJS = test/test.o + +all: $(OBJS) + gcc -o libstack-test $(OBJS) + +clean: + rm -f src/*.o test/*.o libstack-test diff --git a/libstack/src/libstack.hpp b/libstack/src/libstack.hpp new file mode 100644 index 0000000..cf18792 --- /dev/null +++ b/libstack/src/libstack.hpp @@ -0,0 +1,30 @@ +#ifndef LIBSTACK_HPP +#define LIBSTACK_HPP + +template +class Stack { +public: + void initialize() { + size = 0; + } + void push(T_ item) { + body[size] = item; + ++size; + } + T_ pop(void) { + --size; + return body[size]; + } + bool isEmpty(void) const { + return size == 0; + } + int getSize(void) const { + return size; + } + +private: + T_ body[n]; + int size; +}; + +#endif diff --git a/libstack/test/test.cpp b/libstack/test/test.cpp new file mode 100644 index 0000000..d4f260e --- /dev/null +++ b/libstack/test/test.cpp @@ -0,0 +1,22 @@ +#include +#include + +#include "libstack.hpp" + +int +main() +{ + Stack stack; + stack.initialize(); + printf("%d\n", stack.isEmpty()); + + for (int i = 0; i < 16; ++i) { + stack.push(i); + } + + while (! stack.isEmpty()) { + printf("%d\n", stack.pop()); + } + + return 0; +} diff --git a/vulkanon/.DS_Store b/vulkanon/.DS_Store new file mode 100644 index 0000000..69baefc Binary files /dev/null and b/vulkanon/.DS_Store differ diff --git a/vulkanon/HOWTO-BUILD b/vulkanon/HOWTO-BUILD new file mode 100644 index 0000000..fbc20d5 --- /dev/null +++ b/vulkanon/HOWTO-BUILD @@ -0,0 +1,24 @@ +* convert image resource to C++-code. + + % cd images/ + % ./conv.sh + + +* convert save data (vulkanon.sav) to C++-code. + + % cd demoplay + % ./conv.sh + + +------------------------------------------------------------ +Note: build from svn repository + + % svn export file:///home/tekezo/local/svn/gba/release/vulkanon-1.0 + % cd vulkanon-1.0 + % cp -r ~/gba/boost* . + % cd vulkanon/generator + % ./CopyAll.sh + % ./convall.sh + + % cd .. + % make diff --git a/vulkanon/Makefile b/vulkanon/Makefile new file mode 100644 index 0000000..c2bcf0f --- /dev/null +++ b/vulkanon/Makefile @@ -0,0 +1,148 @@ +#--------------------------------------------------------------------------------- +# Clear the implicit built in rules +#--------------------------------------------------------------------------------- +.SUFFIXES: +#--------------------------------------------------------------------------------- +ifeq ($(strip $(DEVKITARM)),) +$(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM) +endif + +include $(DEVKITARM)/gba_rules + +#--------------------------------------------------------------------------------- +# TARGET is the name of the output, if this ends with _mb a multiboot image is generated +# BUILD is the directory where object files & intermediate files will be placed +# SOURCES is a list of directories containing source code +# DATA is a list of directories containing data files +# INCLUDES is a list of directories containing header files +#--------------------------------------------------------------------------------- +TARGET := $(shell basename $(CURDIR)) +BUILD := build +SOURCES := source source/generated $(wildcard source/generated/*) +DATA := audio +INCLUDES := source source/generated + +#--------------------------------------------------------------------------------- +# options for code generation +#--------------------------------------------------------------------------------- +ARCH := -mthumb -mthumb-interwork +#ARCH := -mthumb-interwork + +CFLAGS := -Wall -O6 \ + -mcpu=arm7tdmi -mtune=arm7tdmi\ + -fomit-frame-pointer\ + -ffast-math \ + -DSET_WAITCNT \ + $(ARCH) + +CFLAGS += $(INCLUDE) +# "-mstructure-size-boundary=8" flag need to prevent "class-structure padding". +# -Wpadded +CXXFLAGS = $(CFLAGS) -fno-exceptions -mstructure-size-boundary=8 # -Wpadded + + +ASFLAGS := $(ARCH) +LDFLAGS = -g $(ARCH) -Wl,-Map,$(notdir $@).map + +#--------------------------------------------------------------------------------- +# path to tools - this can be deleted if you set the path to the toolchain in windows +#--------------------------------------------------------------------------------- +export PATH := $(DEVKITARM)/bin:$(PATH) + +#--------------------------------------------------------------------------------- +# any extra libraries we wish to link with the project +#--------------------------------------------------------------------------------- +LIBS := -lgba + +#--------------------------------------------------------------------------------- +# list of directories containing libraries, this must be the top level containing +# include and lib +#--------------------------------------------------------------------------------- +LIBDIRS := $(LIBGBA) + +#--------------------------------------------------------------------------------- +# no real need to edit anything past this point unless you need to add additional +# rules for different file extensions +#--------------------------------------------------------------------------------- +ifneq ($(BUILD),$(notdir $(CURDIR))) +#--------------------------------------------------------------------------------- + +export OUTPUT := $(CURDIR)/$(TARGET) +export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ + $(foreach dir,$(DATA),$(CURDIR)/$(dir)) + +export DEPSDIR := $(CURDIR)/$(BUILD) + +#--------------------------------------------------------------------------------- +# automatically build a list of object files for our project +#--------------------------------------------------------------------------------- +CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) +CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) +SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) +BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.o))) + +#--------------------------------------------------------------------------------- +# use CXX for linking C++ projects, CC for standard C +#--------------------------------------------------------------------------------- +ifeq ($(strip $(CPPFILES)),) +#--------------------------------------------------------------------------------- + export LD := $(CC) +#--------------------------------------------------------------------------------- +else +#--------------------------------------------------------------------------------- + export LD := $(CXX) +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- + +export OFILES := $(addprefix ../$(DATA)/,$(BINFILES)) $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) + +#--------------------------------------------------------------------------------- +# build a list of include paths +#--------------------------------------------------------------------------------- +export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ + $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ + -I$(CURDIR)/$(BUILD) + +#--------------------------------------------------------------------------------- +# build a list of library paths +#--------------------------------------------------------------------------------- +export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) + +.PHONY: $(BUILD) clean + +#--------------------------------------------------------------------------------- +$(BUILD): + @[ -d $@ ] || mkdir -p $@ + @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +all : $(BUILD) +#--------------------------------------------------------------------------------- +clean: + @echo clean ... + @rm -fr $(BUILD) $(TARGET).elf $(TARGET).gba + +#--------------------------------------------------------------------------------- +else + +DEPENDS := $(OFILES:.o=.d) + +#--------------------------------------------------------------------------------- +# main targets +#--------------------------------------------------------------------------------- +$(OUTPUT).gba : $(OUTPUT).elf + +$(OUTPUT).elf : $(OFILES) + +%.o : %.pcx + @echo $(notdir $<) + @$(bin2o) + +-include $(DEPENDS) + +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- + +run: + VisualBoyAdvance $(TARGET).gba diff --git a/vulkanon/audio/.DS_Store b/vulkanon/audio/.DS_Store new file mode 100644 index 0000000..eab9e6a Binary files /dev/null and b/vulkanon/audio/.DS_Store differ diff --git a/vulkanon/audio/MEMO b/vulkanon/audio/MEMO new file mode 100644 index 0000000..d46ef9b --- /dev/null +++ b/vulkanon/audio/MEMO @@ -0,0 +1,22 @@ +Note: + +sox ~/audio/music/humanpark/loop1.wav -c 1 -b -r 16384 music_menu.wav +sox ~/audio/music/humanpark/loop15.wav -c 1 -b -r 16384 music_game.wav +sox ~/audio/music/humanpark/loop22.wav -c 1 -b -r 16384 music_result.wav + +sox ~/audio/se/forc/effect4.wav -c 1 -b -r 16384 se_menu_select.wav +sox ~/audio/se/forc/effect3.wav -c 1 -b -r 16384 se_menu_click.wav +sox ~/audio/se/osa/paper01.wav -c 1 -b -r 16384 se_menu_cancel.wav fade 0 0.2 0.1 +sox ~/audio/se/osa/sha00.wav -c 1 -b -r 16384 se_menu_changepage.wav trim 0 0.1 + +sox ~/audio/se/osa/bom34.wav -c 1 -b -r 16384 se_explode_self.wav fade 0 0.8 0.1 +sox ~/audio/se/osa/bom20_a.wav -c 1 -b -r 16384 se_explode_boss_shield.wav fade 0 0.8 0.1 + +# sox ~/audio/se/osa/fm000.wav -c 1 -b -r 16384 se_shot_hit.wav trim 0.35 0.05 +sox ~/audio/se/osa/sha04.wav -c 1 -b -r 16384 se_shot_hit.wav trim 0 0.02 +sox ~/audio/se/osa/warp02.wav -c 1 -b -r 16384 se_laser.wav + +sox ~/audio/se/osa/mecha16.wav -c 1 -b -r 16384 se_boss_destroy_vibration.wav +sox ~/audio/se/osa/bom32.wav -c 1 -b -r 16384 se_boss_destroy_explode.wav + + diff --git a/vulkanon/audio/Makefile b/vulkanon/audio/Makefile new file mode 100644 index 0000000..db13e00 --- /dev/null +++ b/vulkanon/audio/Makefile @@ -0,0 +1,6 @@ +all: + ./conv.sh + ./make-audiodef.sh > audiodef.hpp + +clean: + rm -f *.raw *.o diff --git a/vulkanon/audio/audiodef.hpp b/vulkanon/audio/audiodef.hpp new file mode 100644 index 0000000..91dc388 --- /dev/null +++ b/vulkanon/audio/audiodef.hpp @@ -0,0 +1,70 @@ +#ifndef AUDIODEF_HPP +#define AUDIODEF_HPP + +extern const char _binary_music_game_raw_start[]; +extern const char _binary_music_game_raw_end[]; +extern const char _binary_music_game_raw_size[]; +const int _filesize_music_game_raw = 983316; + +extern const char _binary_music_menu_raw_start[]; +extern const char _binary_music_menu_raw_end[]; +extern const char _binary_music_menu_raw_size[]; +const int _filesize_music_menu_raw = 196645; + +extern const char _binary_music_result_raw_start[]; +extern const char _binary_music_result_raw_end[]; +extern const char _binary_music_result_raw_size[]; +const int _filesize_music_result_raw = 229376; + +extern const char _binary_se_boss_destroy_explode_raw_start[]; +extern const char _binary_se_boss_destroy_explode_raw_end[]; +extern const char _binary_se_boss_destroy_explode_raw_size[]; +const int _filesize_se_boss_destroy_explode_raw = 26572; + +extern const char _binary_se_boss_destroy_vibration_raw_start[]; +extern const char _binary_se_boss_destroy_vibration_raw_end[]; +extern const char _binary_se_boss_destroy_vibration_raw_size[]; +const int _filesize_se_boss_destroy_vibration_raw = 3948; + +extern const char _binary_se_explode_boss_shield_raw_start[]; +extern const char _binary_se_explode_boss_shield_raw_end[]; +extern const char _binary_se_explode_boss_shield_raw_size[]; +const int _filesize_se_explode_boss_shield_raw = 13081; + +extern const char _binary_se_explode_self_raw_start[]; +extern const char _binary_se_explode_self_raw_end[]; +extern const char _binary_se_explode_self_raw_size[]; +const int _filesize_se_explode_self_raw = 13107; + +extern const char _binary_se_laser_raw_start[]; +extern const char _binary_se_laser_raw_end[]; +extern const char _binary_se_laser_raw_size[]; +const int _filesize_se_laser_raw = 16264; + +extern const char _binary_se_menu_cancel_raw_start[]; +extern const char _binary_se_menu_cancel_raw_end[]; +extern const char _binary_se_menu_cancel_raw_size[]; +const int _filesize_se_menu_cancel_raw = 3276; + +extern const char _binary_se_menu_changepage_raw_start[]; +extern const char _binary_se_menu_changepage_raw_end[]; +extern const char _binary_se_menu_changepage_raw_size[]; +const int _filesize_se_menu_changepage_raw = 1639; + +extern const char _binary_se_menu_click_raw_start[]; +extern const char _binary_se_menu_click_raw_end[]; +extern const char _binary_se_menu_click_raw_size[]; +const int _filesize_se_menu_click_raw = 23112; + +extern const char _binary_se_menu_select_raw_start[]; +extern const char _binary_se_menu_select_raw_end[]; +extern const char _binary_se_menu_select_raw_size[]; +const int _filesize_se_menu_select_raw = 33812; + +extern const char _binary_se_shot_hit_raw_start[]; +extern const char _binary_se_shot_hit_raw_end[]; +extern const char _binary_se_shot_hit_raw_size[]; +const int _filesize_se_shot_hit_raw = 327; + +#endif + diff --git a/vulkanon/audio/conv.sh b/vulkanon/audio/conv.sh new file mode 100755 index 0000000..370a4b0 --- /dev/null +++ b/vulkanon/audio/conv.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +for f in *.wav *.aif; do + name=$(basename $(basename $f .wav) .aif) + rawfile=${name}.raw + sox $f -r 16384 -c 1 -b -s $rawfile + arm-elf-objcopy --rename-section .data=.rodata -I binary -O elf32-littlearm -B ARM $rawfile ${name}.o +done diff --git a/vulkanon/audio/make-audiodef.sh b/vulkanon/audio/make-audiodef.sh new file mode 100755 index 0000000..5c245d7 --- /dev/null +++ b/vulkanon/audio/make-audiodef.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +echo "#ifndef AUDIODEF_HPP" +echo "#define AUDIODEF_HPP" +echo + +for f in *.o; do + name=$(basename $f .o) + if [ $(uname) = "Darwin" ]; then + filesize=$(stat -f '%z' ${name}.raw) + else + filesize=$(stat -c '%s' ${name}.raw) + fi + echo "extern const char _binary_${name}_raw_start[];" + echo "extern const char _binary_${name}_raw_end[];" + echo "extern const char _binary_${name}_raw_size[];" + echo "const int _filesize_${name}_raw = $filesize;" + echo +done + +echo "#endif" +echo diff --git a/vulkanon/audio/music_game.o b/vulkanon/audio/music_game.o new file mode 100644 index 0000000..fd9aab4 Binary files /dev/null and b/vulkanon/audio/music_game.o differ diff --git a/vulkanon/audio/music_game.raw b/vulkanon/audio/music_game.raw new file mode 100644 index 0000000..1d38cfd Binary files /dev/null and b/vulkanon/audio/music_game.raw differ diff --git a/vulkanon/audio/music_game.wav b/vulkanon/audio/music_game.wav new file mode 100644 index 0000000..9405055 Binary files /dev/null and b/vulkanon/audio/music_game.wav differ diff --git a/vulkanon/audio/music_menu.o b/vulkanon/audio/music_menu.o new file mode 100644 index 0000000..37ffef5 Binary files /dev/null and b/vulkanon/audio/music_menu.o differ diff --git a/vulkanon/audio/music_menu.raw b/vulkanon/audio/music_menu.raw new file mode 100644 index 0000000..4a1106c Binary files /dev/null and b/vulkanon/audio/music_menu.raw differ diff --git a/vulkanon/audio/music_menu.wav b/vulkanon/audio/music_menu.wav new file mode 100644 index 0000000..5b744ae Binary files /dev/null and b/vulkanon/audio/music_menu.wav differ diff --git a/vulkanon/audio/music_result.o b/vulkanon/audio/music_result.o new file mode 100644 index 0000000..088894a Binary files /dev/null and b/vulkanon/audio/music_result.o differ diff --git a/vulkanon/audio/music_result.raw b/vulkanon/audio/music_result.raw new file mode 100644 index 0000000..b6a11a1 Binary files /dev/null and b/vulkanon/audio/music_result.raw differ diff --git a/vulkanon/audio/music_result.wav b/vulkanon/audio/music_result.wav new file mode 100644 index 0000000..f0ac1be Binary files /dev/null and b/vulkanon/audio/music_result.wav differ diff --git a/vulkanon/audio/se_boss_destroy_explode.o b/vulkanon/audio/se_boss_destroy_explode.o new file mode 100644 index 0000000..425cde8 Binary files /dev/null and b/vulkanon/audio/se_boss_destroy_explode.o differ diff --git a/vulkanon/audio/se_boss_destroy_explode.raw b/vulkanon/audio/se_boss_destroy_explode.raw new file mode 100644 index 0000000..048a462 Binary files /dev/null and b/vulkanon/audio/se_boss_destroy_explode.raw differ diff --git a/vulkanon/audio/se_boss_destroy_explode.wav b/vulkanon/audio/se_boss_destroy_explode.wav new file mode 100644 index 0000000..8dfa373 Binary files /dev/null and b/vulkanon/audio/se_boss_destroy_explode.wav differ diff --git a/vulkanon/audio/se_boss_destroy_vibration.o b/vulkanon/audio/se_boss_destroy_vibration.o new file mode 100644 index 0000000..0d3412c Binary files /dev/null and b/vulkanon/audio/se_boss_destroy_vibration.o differ diff --git a/vulkanon/audio/se_boss_destroy_vibration.raw b/vulkanon/audio/se_boss_destroy_vibration.raw new file mode 100644 index 0000000..65d43b2 Binary files /dev/null and b/vulkanon/audio/se_boss_destroy_vibration.raw differ diff --git a/vulkanon/audio/se_boss_destroy_vibration.wav b/vulkanon/audio/se_boss_destroy_vibration.wav new file mode 100644 index 0000000..0e3d577 Binary files /dev/null and b/vulkanon/audio/se_boss_destroy_vibration.wav differ diff --git a/vulkanon/audio/se_explode_boss_shield.aif b/vulkanon/audio/se_explode_boss_shield.aif new file mode 100644 index 0000000..f320c28 Binary files /dev/null and b/vulkanon/audio/se_explode_boss_shield.aif differ diff --git a/vulkanon/audio/se_explode_boss_shield.o b/vulkanon/audio/se_explode_boss_shield.o new file mode 100644 index 0000000..b5ed8b1 Binary files /dev/null and b/vulkanon/audio/se_explode_boss_shield.o differ diff --git a/vulkanon/audio/se_explode_boss_shield.raw b/vulkanon/audio/se_explode_boss_shield.raw new file mode 100644 index 0000000..d940a2f Binary files /dev/null and b/vulkanon/audio/se_explode_boss_shield.raw differ diff --git a/vulkanon/audio/se_explode_self.o b/vulkanon/audio/se_explode_self.o new file mode 100644 index 0000000..c9e04b0 Binary files /dev/null and b/vulkanon/audio/se_explode_self.o differ diff --git a/vulkanon/audio/se_explode_self.raw b/vulkanon/audio/se_explode_self.raw new file mode 100644 index 0000000..2d09414 Binary files /dev/null and b/vulkanon/audio/se_explode_self.raw differ diff --git a/vulkanon/audio/se_explode_self.wav b/vulkanon/audio/se_explode_self.wav new file mode 100644 index 0000000..3c86c9d Binary files /dev/null and b/vulkanon/audio/se_explode_self.wav differ diff --git a/vulkanon/audio/se_laser.o b/vulkanon/audio/se_laser.o new file mode 100644 index 0000000..1d6c8b1 Binary files /dev/null and b/vulkanon/audio/se_laser.o differ diff --git a/vulkanon/audio/se_laser.raw b/vulkanon/audio/se_laser.raw new file mode 100644 index 0000000..da70475 Binary files /dev/null and b/vulkanon/audio/se_laser.raw differ diff --git a/vulkanon/audio/se_laser.wav b/vulkanon/audio/se_laser.wav new file mode 100644 index 0000000..a2c79db Binary files /dev/null and b/vulkanon/audio/se_laser.wav differ diff --git a/vulkanon/audio/se_menu_cancel.o b/vulkanon/audio/se_menu_cancel.o new file mode 100644 index 0000000..adfbfc4 Binary files /dev/null and b/vulkanon/audio/se_menu_cancel.o differ diff --git a/vulkanon/audio/se_menu_cancel.raw b/vulkanon/audio/se_menu_cancel.raw new file mode 100644 index 0000000..2f8547c Binary files /dev/null and b/vulkanon/audio/se_menu_cancel.raw differ diff --git a/vulkanon/audio/se_menu_cancel.wav b/vulkanon/audio/se_menu_cancel.wav new file mode 100644 index 0000000..49caebd Binary files /dev/null and b/vulkanon/audio/se_menu_cancel.wav differ diff --git a/vulkanon/audio/se_menu_changepage.o b/vulkanon/audio/se_menu_changepage.o new file mode 100644 index 0000000..ba84a21 Binary files /dev/null and b/vulkanon/audio/se_menu_changepage.o differ diff --git a/vulkanon/audio/se_menu_changepage.raw b/vulkanon/audio/se_menu_changepage.raw new file mode 100644 index 0000000..c9d77b5 Binary files /dev/null and b/vulkanon/audio/se_menu_changepage.raw differ diff --git a/vulkanon/audio/se_menu_changepage.wav b/vulkanon/audio/se_menu_changepage.wav new file mode 100644 index 0000000..8ad7bd5 Binary files /dev/null and b/vulkanon/audio/se_menu_changepage.wav differ diff --git a/vulkanon/audio/se_menu_click.o b/vulkanon/audio/se_menu_click.o new file mode 100644 index 0000000..aeabf70 Binary files /dev/null and b/vulkanon/audio/se_menu_click.o differ diff --git a/vulkanon/audio/se_menu_click.raw b/vulkanon/audio/se_menu_click.raw new file mode 100644 index 0000000..2f29f66 Binary files /dev/null and b/vulkanon/audio/se_menu_click.raw differ diff --git a/vulkanon/audio/se_menu_click.wav b/vulkanon/audio/se_menu_click.wav new file mode 100644 index 0000000..efdfbcb Binary files /dev/null and b/vulkanon/audio/se_menu_click.wav differ diff --git a/vulkanon/audio/se_menu_select.o b/vulkanon/audio/se_menu_select.o new file mode 100644 index 0000000..295d31f Binary files /dev/null and b/vulkanon/audio/se_menu_select.o differ diff --git a/vulkanon/audio/se_menu_select.raw b/vulkanon/audio/se_menu_select.raw new file mode 100644 index 0000000..fb203f9 Binary files /dev/null and b/vulkanon/audio/se_menu_select.raw differ diff --git a/vulkanon/audio/se_menu_select.wav b/vulkanon/audio/se_menu_select.wav new file mode 100644 index 0000000..d199253 Binary files /dev/null and b/vulkanon/audio/se_menu_select.wav differ diff --git a/vulkanon/audio/se_shot_hit.o b/vulkanon/audio/se_shot_hit.o new file mode 100644 index 0000000..5c4ed6a Binary files /dev/null and b/vulkanon/audio/se_shot_hit.o differ diff --git a/vulkanon/audio/se_shot_hit.raw b/vulkanon/audio/se_shot_hit.raw new file mode 100644 index 0000000..71b93c9 Binary files /dev/null and b/vulkanon/audio/se_shot_hit.raw differ diff --git a/vulkanon/audio/se_shot_hit.wav b/vulkanon/audio/se_shot_hit.wav new file mode 100644 index 0000000..1b3c76d Binary files /dev/null and b/vulkanon/audio/se_shot_hit.wav differ diff --git a/vulkanon/demoplay/Makefile b/vulkanon/demoplay/Makefile new file mode 100644 index 0000000..c29fe7f --- /dev/null +++ b/vulkanon/demoplay/Makefile @@ -0,0 +1,7 @@ +all: + cp vulkanon.sav demoplaysavedata.sav + $(DEVKITARM)/bin/raw2c demoplaysavedata.sav + mv demoplaysavedata.[ch] code + +clean: + rm -f code/*.[ch] diff --git a/vulkanon/demoplay/code/demoplaysavedata.c b/vulkanon/demoplay/code/demoplaysavedata.c new file mode 100644 index 0000000..4dacc6a --- /dev/null +++ b/vulkanon/demoplay/code/demoplaysavedata.c @@ -0,0 +1,2057 @@ +/* + This file was autogenerated by raw2c. +Visit http://www.devkitpro.org +*/ + +const unsigned char demoplaysavedata[] = { + 0x56, 0x55, 0x4c, 0x4b, 0x41, 0x4e, 0x4f, 0x4e, 0x20, 0x53, 0x41, 0x56, 0x45, 0x20, 0x46, 0x4f, + 0x52, 0x4d, 0x41, 0x54, 0x20, 0x32, 0x2e, 0x30, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x7a, 0x72, 0x67, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, + 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x00, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, + 0x71, 0x00, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x00, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x31, 0x00, 0x29, 0x6b, 0x01, 0x00, 0x36, 0x3b, 0x02, 0x00, 0xde, 0xa4, 0xc0, 0x72, 0x26, + 0x01, 0x00, 0x15, 0x21, 0x00, 0x11, 0x61, 0x00, 0x05, 0x21, 0x00, 0x0c, 0x01, 0x00, 0x07, 0x21, + 0x00, 0x04, 0x01, 0x00, 0x06, 0x21, 0x00, 0x05, 0x01, 0x00, 0x05, 0x21, 0x00, 0x04, 0x01, 0x00, + 0x09, 0x21, 0x00, 0x03, 0x01, 0x00, 0x07, 0x21, 0x00, 0x06, 0x01, 0x00, 0x04, 0x41, 0x00, 0x0b, + 0x01, 0x00, 0x04, 0x11, 0x00, 0x0c, 0x01, 0x00, 0x05, 0x81, 0x00, 0x0d, 0x01, 0x00, 0x02, 0x11, + 0x00, 0x0c, 0x01, 0x00, 0x04, 0x11, 0x00, 0x1d, 0x01, 0x00, 0x21, 0x81, 0x00, 0x0b, 0x01, 0x00, + 0x06, 0x11, 0x00, 0x04, 0x51, 0x00, 0x09, 0x41, 0x00, 0x12, 0x01, 0x00, 0x05, 0x11, 0x00, 0x17, + 0x01, 0x00, 0x09, 0x81, 0x00, 0x04, 0x91, 0x00, 0x41, 0x11, 0x00, 0x10, 0x91, 0x00, 0x01, 0x11, + 0x00, 0x07, 0x01, 0x00, 0x06, 0x21, 0x00, 0x07, 0x01, 0x00, 0x18, 0x11, 0x00, 0x02, 0x51, 0x00, + 0x05, 0x41, 0x00, 0x04, 0x51, 0x00, 0x12, 0x01, 0x00, 0x08, 0x81, 0x00, 0x06, 0x91, 0x00, 0x07, + 0x11, 0x00, 0x02, 0x51, 0x00, 0x15, 0x41, 0x00, 0x09, 0x01, 0x00, 0x0c, 0x81, 0x00, 0x01, 0x91, + 0x00, 0x02, 0x01, 0x00, 0x01, 0x11, 0x00, 0x06, 0x41, 0x00, 0x03, 0x01, 0x00, 0x03, 0x21, 0x00, + 0x0a, 0xa1, 0x00, 0x05, 0x81, 0x00, 0x03, 0x01, 0x00, 0x02, 0x81, 0x00, 0x07, 0xa1, 0x00, 0x05, + 0x21, 0x00, 0x1e, 0x01, 0x00, 0x19, 0x21, 0x00, 0x16, 0x01, 0x00, 0x07, 0x61, 0x00, 0x02, 0x21, + 0x00, 0x10, 0x61, 0x00, 0x0f, 0x01, 0x00, 0x0c, 0x81, 0x00, 0x12, 0x01, 0x00, 0x0c, 0x81, 0x00, + 0x07, 0x01, 0x00, 0x19, 0x21, 0x00, 0x06, 0x01, 0x00, 0x0a, 0x21, 0x00, 0x13, 0x01, 0x00, 0x03, + 0x21, 0x00, 0x0c, 0x61, 0x00, 0x01, 0x21, 0x00, 0x09, 0x01, 0x00, 0x01, 0x81, 0x00, 0x0d, 0x91, + 0x00, 0x01, 0x41, 0x00, 0x05, 0x61, 0x00, 0x07, 0x41, 0x00, 0x0e, 0x01, 0x00, 0x0b, 0x41, 0x00, + 0x04, 0x11, 0x00, 0x1e, 0x91, 0x00, 0x08, 0x11, 0x00, 0x1a, 0x01, 0x00, 0x20, 0x11, 0x00, 0x18, + 0x51, 0x00, 0x03, 0x41, 0x00, 0x0c, 0x01, 0x00, 0x14, 0x11, 0x00, 0x01, 0x91, 0x00, 0x09, 0x81, + 0x00, 0x05, 0x01, 0x00, 0x10, 0x81, 0x00, 0x0c, 0x01, 0x00, 0x0c, 0x41, 0x00, 0x01, 0x61, 0x00, + 0x0b, 0x21, 0x00, 0x0b, 0xa1, 0x00, 0x0c, 0x21, 0x00, 0x02, 0x61, 0x00, 0x17, 0x21, 0x00, 0x04, + 0x01, 0x00, 0x0c, 0x21, 0x00, 0x09, 0x01, 0x00, 0x07, 0x21, 0x00, 0x04, 0x01, 0x00, 0x08, 0x21, + 0x00, 0x06, 0x01, 0x00, 0x02, 0x21, 0x00, 0x0c, 0x01, 0x00, 0x04, 0x21, 0x00, 0x06, 0x61, 0x00, + 0x10, 0x41, 0x00, 0x09, 0x61, 0x00, 0x03, 0x21, 0x00, 0x09, 0x01, 0x00, 0x06, 0x21, 0x00, 0x09, + 0x01, 0x00, 0x05, 0x21, 0x00, 0x04, 0x01, 0x00, 0x08, 0x21, 0x00, 0x04, 0x01, 0x00, 0x12, 0x41, + 0x00, 0x0b, 0x01, 0x00, 0x08, 0x21, 0x00, 0x02, 0x61, 0x00, 0x03, 0x41, 0x00, 0x0a, 0x01, 0x00, + 0x07, 0x11, 0x00, 0x02, 0x01, 0x00, 0x01, 0x41, 0x00, 0x07, 0x61, 0x00, 0x01, 0x01, 0x00, 0x02, + 0x11, 0x00, 0x16, 0x91, 0x00, 0x20, 0x11, 0x00, 0x0c, 0x91, 0x00, 0x22, 0x11, 0x00, 0x0d, 0x01, + 0x00, 0x19, 0x11, 0x00, 0x04, 0x51, 0x00, 0x06, 0x41, 0x00, 0x0d, 0x01, 0x00, 0x01, 0x11, 0x00, + 0x03, 0x91, 0x00, 0x07, 0x81, 0x00, 0x0b, 0x01, 0x00, 0x05, 0x81, 0x00, 0x04, 0x01, 0x00, 0x06, + 0x21, 0x00, 0x03, 0xa1, 0x00, 0x05, 0x81, 0x00, 0x02, 0xa1, 0x00, 0x09, 0x01, 0x00, 0x07, 0x21, + 0x00, 0x08, 0x01, 0x00, 0x07, 0x21, 0x00, 0x0d, 0x01, 0x00, 0x05, 0x21, 0x00, 0x08, 0x01, 0x00, + 0x06, 0x21, 0x00, 0x08, 0x01, 0x00, 0x06, 0x41, 0x00, 0x0b, 0x01, 0x00, 0x06, 0x81, 0x00, 0x02, + 0xa1, 0x00, 0x08, 0x21, 0x00, 0x08, 0x01, 0x00, 0x09, 0x21, 0x00, 0x07, 0x01, 0x00, 0x09, 0x21, + 0x00, 0x06, 0x01, 0x00, 0x09, 0x21, 0x00, 0x05, 0x01, 0x00, 0x04, 0x21, 0x00, 0x14, 0x01, 0x00, + 0x09, 0x21, 0x00, 0x02, 0xa1, 0x00, 0x03, 0x81, 0x00, 0x02, 0xa1, 0x00, 0x07, 0x21, 0x00, 0x06, + 0x01, 0x00, 0x18, 0x61, 0x00, 0x0c, 0x41, 0x00, 0x0b, 0x01, 0x00, 0x07, 0x21, 0x00, 0x08, 0x01, + 0x00, 0x07, 0x41, 0x00, 0x0a, 0x01, 0x00, 0x0c, 0x81, 0x00, 0x07, 0x21, 0x00, 0x04, 0x61, 0x00, + 0x04, 0x41, 0x00, 0x04, 0x51, 0x00, 0x03, 0x11, 0x00, 0x05, 0x91, 0x00, 0x01, 0x81, 0x00, 0x0a, + 0x01, 0x00, 0x07, 0x81, 0x00, 0x02, 0x91, 0x00, 0x02, 0x11, 0x00, 0x05, 0x01, 0x00, 0x12, 0x91, + 0x00, 0x2b, 0x11, 0x00, 0x2e, 0x51, 0x00, 0x01, 0x11, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x11, 0x00, + 0x08, 0x01, 0x00, 0x02, 0x11, 0x00, 0x11, 0x01, 0x00, 0x05, 0x21, 0x00, 0x04, 0x01, 0x00, 0x06, + 0x81, 0x00, 0x05, 0x01, 0x00, 0x06, 0x81, 0x00, 0x05, 0xa1, 0x00, 0x06, 0x21, 0x00, 0x06, 0x61, + 0x00, 0x06, 0x41, 0x00, 0x02, 0x51, 0x00, 0x0a, 0x11, 0x00, 0x02, 0x51, 0x00, 0x01, 0x11, 0x00, + 0x0f, 0x01, 0x00, 0x03, 0x11, 0x00, 0x20, 0x01, 0x00, 0x04, 0x81, 0x00, 0x05, 0x01, 0x00, 0x07, + 0x81, 0x00, 0x04, 0x01, 0x00, 0x14, 0x81, 0x00, 0x01, 0xa1, 0x00, 0x25, 0x21, 0x00, 0x06, 0xa1, + 0x00, 0x09, 0x21, 0x00, 0x04, 0x61, 0x00, 0x15, 0x21, 0x00, 0x25, 0x61, 0x00, 0x01, 0x41, 0x00, + 0x16, 0x01, 0x00, 0x01, 0x21, 0x00, 0x01, 0xa1, 0x00, 0x05, 0x21, 0x00, 0x05, 0x01, 0x00, 0x03, + 0xa1, 0x00, 0x06, 0x21, 0x00, 0x05, 0x61, 0x00, 0x01, 0x41, 0x00, 0x15, 0x01, 0x00, 0x09, 0x41, + 0x00, 0x06, 0x01, 0x00, 0x24, 0x91, 0x00, 0x1b, 0x11, 0x00, 0x0c, 0x51, 0x00, 0x17, 0x11, 0x00, + 0x13, 0x01, 0x00, 0x05, 0x11, 0x00, 0x05, 0x01, 0x00, 0x07, 0x11, 0x00, 0x04, 0x01, 0x00, 0x05, + 0x11, 0x00, 0x04, 0x01, 0x00, 0x06, 0x11, 0x00, 0x05, 0x01, 0x00, 0x05, 0x11, 0x00, 0x04, 0x01, + 0x00, 0x06, 0x11, 0x00, 0x04, 0x01, 0x00, 0x06, 0x11, 0x00, 0x12, 0x01, 0x00, 0x0c, 0x11, 0x00, + 0x02, 0x51, 0x00, 0x07, 0x41, 0x00, 0x0c, 0x01, 0x00, 0x15, 0xa1, 0x00, 0x26, 0x21, 0x00, 0x0f, + 0x01, 0x00, 0x08, 0x21, 0x00, 0x05, 0x01, 0x00, 0x05, 0x41, 0x00, 0x01, 0x61, 0x00, 0x07, 0x21, + 0x00, 0x06, 0x01, 0x00, 0x05, 0x21, 0x00, 0x05, 0x01, 0x00, 0x06, 0x21, 0x00, 0x04, 0x01, 0x00, + 0x06, 0x21, 0x00, 0x12, 0x01, 0x00, 0x06, 0x21, 0x00, 0x06, 0x61, 0x00, 0x07, 0x41, 0x00, 0x02, + 0x51, 0x00, 0x07, 0x11, 0x00, 0x0e, 0x01, 0x00, 0x14, 0x21, 0x00, 0x09, 0x01, 0x00, 0x06, 0x41, + 0x00, 0x0f, 0x01, 0x00, 0x03, 0x21, 0x00, 0x37, 0x01, 0x00, 0x05, 0x81, 0x00, 0x08, 0xa1, 0x00, + 0x0b, 0x21, 0x00, 0x08, 0x01, 0x00, 0x38, 0x81, 0x00, 0x01, 0x91, 0x00, 0x7b, 0x11, 0x00, 0x12, + 0x01, 0x00, 0x02, 0x11, 0x00, 0x11, 0x01, 0x00, 0x02, 0x41, 0x00, 0x06, 0x51, 0x00, 0x03, 0x41, + 0x00, 0x0c, 0x51, 0x00, 0x04, 0x41, 0x00, 0x12, 0x01, 0x00, 0x05, 0x81, 0x00, 0x0a, 0xa1, 0x00, + 0x12, 0x21, 0x00, 0x20, 0x61, 0x00, 0x10, 0x21, 0x00, 0x11, 0x61, 0x00, 0x04, 0x21, 0x00, 0x0b, + 0x01, 0x00, 0x07, 0x61, 0x00, 0x06, 0x21, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x21, 0x00, 0x0e, 0x01, + 0x00, 0x1b, 0x11, 0x00, 0x06, 0x51, 0x00, 0x04, 0x11, 0x00, 0x02, 0x01, 0x00, 0x02, 0x11, 0x00, + 0x17, 0x01, 0x00, 0x03, 0x81, 0x00, 0x11, 0x01, 0x00, 0x19, 0x21, 0x00, 0x12, 0x01, 0x00, 0x20, + 0x11, 0x00, 0x38, 0x01, 0x00, 0x07, 0x41, 0x00, 0x12, 0x01, 0x00, 0x03, 0x11, 0x00, 0x16, 0x01, + 0x00, 0x03, 0x21, 0x00, 0x12, 0x01, 0x00, 0x04, 0x81, 0x00, 0x0d, 0x01, 0x00, 0x03, 0x81, 0x00, + 0x08, 0x01, 0x00, 0x03, 0x81, 0x00, 0x06, 0x01, 0x00, 0x03, 0x81, 0x00, 0x06, 0x01, 0x00, 0x04, + 0x81, 0x00, 0x05, 0x01, 0x00, 0x05, 0x81, 0x00, 0x04, 0x01, 0x00, 0x06, 0x81, 0x00, 0x03, 0x01, + 0x00, 0x1c, 0x81, 0x00, 0x05, 0x01, 0x00, 0x22, 0x81, 0x00, 0x05, 0x01, 0x00, 0x07, 0x01, 0x01, + 0x20, 0x01, 0x00, 0x47, 0x41, 0x00, 0x08, 0x01, 0x00, 0x08, 0x41, 0x00, 0x14, 0x01, 0x00, 0x04, + 0x81, 0x00, 0x93, 0x01, 0x00, 0x01, 0x11, 0x00, 0x01, 0x91, 0x00, 0x03, 0x81, 0x00, 0x08, 0x01, + 0x00, 0x01, 0x11, 0x00, 0x22, 0x01, 0x00, 0x04, 0x81, 0x00, 0x05, 0x01, 0x00, 0x05, 0x81, 0x00, + 0x05, 0x01, 0x00, 0x03, 0x81, 0x00, 0x0e, 0x01, 0x00, 0x03, 0x41, 0x00, 0x03, 0x01, 0x00, 0x03, + 0x41, 0x00, 0x45, 0x01, 0x00, 0x0b, 0x41, 0x00, 0x19, 0x01, 0x00, 0x04, 0x81, 0x00, 0x15, 0x01, + 0x00, 0x04, 0x21, 0x00, 0x14, 0x01, 0x00, 0x0a, 0x21, 0x00, 0x08, 0xa1, 0x00, 0x30, 0x21, 0x00, + 0x0e, 0x01, 0x00, 0x0a, 0x81, 0x00, 0x03, 0xa1, 0x00, 0x14, 0x81, 0x00, 0x07, 0x81, 0x01, 0x19, + 0x81, 0x00, 0x05, 0x01, 0x00, 0x04, 0x11, 0x00, 0x09, 0x01, 0x00, 0x28, 0x11, 0x00, 0x1f, 0x51, + 0x00, 0x1c, 0x41, 0x00, 0x0d, 0x01, 0x00, 0x01, 0x81, 0x00, 0x04, 0xa1, 0x00, 0x02, 0x81, 0x00, + 0x01, 0x01, 0x00, 0x08, 0x81, 0x00, 0x05, 0x01, 0x00, 0x31, 0x81, 0x00, 0x07, 0x01, 0x00, 0x09, + 0x21, 0x00, 0x17, 0x01, 0x00, 0x0f, 0x21, 0x00, 0x0c, 0x01, 0x00, 0x07, 0x61, 0x00, 0x02, 0x21, + 0x00, 0x1b, 0x01, 0x00, 0x05, 0x11, 0x00, 0x0d, 0x91, 0x00, 0x02, 0x11, 0x00, 0x0f, 0x01, 0x00, + 0x0e, 0x11, 0x00, 0x06, 0x01, 0x00, 0x07, 0x11, 0x00, 0x09, 0x01, 0x00, 0x07, 0x11, 0x00, 0x06, + 0x01, 0x00, 0x08, 0x11, 0x00, 0x09, 0x01, 0x00, 0x0d, 0x11, 0x00, 0x06, 0x51, 0x00, 0x01, 0x41, + 0x00, 0x08, 0x51, 0x00, 0x16, 0x01, 0x00, 0x0b, 0x11, 0x00, 0x07, 0x51, 0x00, 0x09, 0x41, 0x00, + 0x19, 0x01, 0x00, 0x06, 0x01, 0x01, 0x19, 0x01, 0x00, 0x0f, 0x81, 0x00, 0x09, 0xa1, 0x00, 0x27, + 0x21, 0x00, 0x07, 0x61, 0x00, 0x03, 0x21, 0x00, 0x05, 0xa1, 0x00, 0x04, 0x21, 0x00, 0x09, 0x61, + 0x00, 0x10, 0x41, 0x00, 0x0b, 0x51, 0x00, 0x14, 0x41, 0x00, 0x10, 0x01, 0x00, 0x0d, 0x11, 0x00, + 0x09, 0x01, 0x00, 0x02, 0x41, 0x00, 0x03, 0x61, 0x00, 0x0b, 0x21, 0x00, 0x41, 0x01, 0x00, 0x08, + 0x41, 0x00, 0x08, 0x01, 0x00, 0x1d, 0x81, 0x00, 0x08, 0x91, 0x00, 0x07, 0x11, 0x00, 0x08, 0x51, + 0x00, 0x04, 0x41, 0x00, 0x09, 0x01, 0x00, 0x01, 0x81, 0x00, 0x07, 0xa1, 0x00, 0x06, 0x81, 0x00, + 0x01, 0x91, 0x00, 0x03, 0x81, 0x00, 0x02, 0x91, 0x00, 0x01, 0x11, 0x00, 0x03, 0x01, 0x00, 0x01, + 0x51, 0x00, 0x07, 0x41, 0x00, 0x05, 0x01, 0x00, 0x05, 0x81, 0x00, 0x06, 0xa1, 0x00, 0x04, 0x01, + 0x00, 0x05, 0x21, 0x00, 0x0a, 0xa1, 0x00, 0x14, 0x01, 0x00, 0x07, 0x21, 0x00, 0x03, 0x01, 0x00, + 0x07, 0x01, 0x01, 0x08, 0x01, 0x00, 0x01, 0x21, 0x00, 0x0d, 0xa1, 0x00, 0x01, 0x81, 0x00, 0x17, + 0x01, 0x00, 0x03, 0x21, 0x00, 0x16, 0x61, 0x00, 0x03, 0x21, 0x00, 0x0b, 0x01, 0x00, 0x03, 0xa1, + 0x00, 0x06, 0x81, 0x00, 0x03, 0x01, 0x00, 0x08, 0x21, 0x00, 0x03, 0x61, 0x00, 0x09, 0x41, 0x00, + 0x0c, 0x01, 0x00, 0x09, 0x21, 0x00, 0x01, 0x61, 0x00, 0x0b, 0x41, 0x00, 0x03, 0x51, 0x00, 0x05, + 0x41, 0x00, 0x02, 0x51, 0x00, 0x05, 0x11, 0x00, 0x11, 0x91, 0x00, 0x03, 0x11, 0x00, 0x14, 0x51, + 0x00, 0x11, 0x11, 0x00, 0x0a, 0x91, 0x00, 0x03, 0x81, 0x00, 0x10, 0x01, 0x00, 0x16, 0x11, 0x00, + 0x01, 0x91, 0x00, 0x07, 0x81, 0x00, 0x01, 0x91, 0x00, 0x02, 0x11, 0x00, 0x06, 0x01, 0x00, 0x07, + 0x21, 0x00, 0x0c, 0x01, 0x00, 0x0d, 0x21, 0x00, 0x0b, 0xa1, 0x00, 0x01, 0x21, 0x00, 0x0e, 0x01, + 0x00, 0x0c, 0x81, 0x00, 0x06, 0x01, 0x00, 0x0c, 0x21, 0x00, 0x15, 0x01, 0x00, 0x03, 0x81, 0x00, + 0x04, 0xa1, 0x00, 0x07, 0x21, 0x00, 0x07, 0x01, 0x00, 0x07, 0x41, 0x00, 0x04, 0x61, 0x00, 0x0b, + 0x21, 0x00, 0x08, 0x01, 0x00, 0x0c, 0x21, 0x00, 0x09, 0x01, 0x00, 0x06, 0x21, 0x00, 0x04, 0x01, + 0x00, 0x07, 0x21, 0x00, 0x0b, 0x61, 0x00, 0x18, 0x41, 0x00, 0x03, 0x51, 0x00, 0x0f, 0x11, 0x00, + 0x03, 0x91, 0x00, 0x03, 0x81, 0x00, 0x09, 0x01, 0x00, 0x0f, 0x91, 0x00, 0x03, 0x11, 0x00, 0x09, + 0x51, 0x00, 0x1e, 0x11, 0x00, 0x0b, 0x01, 0x00, 0x06, 0x11, 0x00, 0x05, 0x01, 0x00, 0x0d, 0x11, + 0x00, 0x1d, 0x01, 0x00, 0x05, 0x41, 0x00, 0x01, 0x61, 0x00, 0x03, 0x21, 0x00, 0x10, 0xa1, 0x00, + 0x02, 0x81, 0x00, 0x1e, 0x01, 0x00, 0x05, 0x21, 0x00, 0x02, 0xa1, 0x00, 0x01, 0x01, 0x00, 0x03, + 0x81, 0x00, 0x06, 0xa1, 0x00, 0x01, 0x81, 0x00, 0x08, 0x01, 0x00, 0x0e, 0x11, 0x00, 0x0a, 0x01, + 0x00, 0x18, 0x81, 0x00, 0x13, 0x01, 0x00, 0x08, 0x21, 0x00, 0x03, 0x01, 0x00, 0x06, 0x21, 0x00, + 0x05, 0x01, 0x00, 0x05, 0x21, 0x00, 0x05, 0x01, 0x00, 0x04, 0x21, 0x00, 0x05, 0x01, 0x00, 0x05, + 0x21, 0x00, 0x04, 0x01, 0x00, 0x06, 0x21, 0x00, 0x03, 0x01, 0x00, 0x05, 0x21, 0x00, 0x0c, 0x01, + 0x00, 0x07, 0x11, 0x00, 0x06, 0x01, 0x00, 0x09, 0x21, 0x00, 0x05, 0x01, 0x01, 0x09, 0x01, 0x00, + 0x10, 0x21, 0x00, 0x08, 0x61, 0x00, 0x10, 0x41, 0x00, 0x06, 0x61, 0x00, 0x09, 0x01, 0x00, 0x08, + 0x21, 0x00, 0x07, 0x01, 0x00, 0x06, 0x21, 0x00, 0x03, 0x61, 0x00, 0x04, 0x01, 0x00, 0x02, 0x41, + 0x00, 0x03, 0x51, 0x00, 0x02, 0x11, 0x00, 0x02, 0x91, 0x00, 0x0a, 0x81, 0x00, 0x01, 0xa1, 0x00, + 0x04, 0x21, 0x00, 0x03, 0x61, 0x00, 0x0e, 0x41, 0x00, 0x10, 0x81, 0x00, 0x29, 0x91, 0x00, 0x37, + 0x11, 0x00, 0x09, 0x01, 0x00, 0x1d, 0x11, 0x00, 0x16, 0x51, 0x00, 0x07, 0x41, 0x00, 0x1c, 0x01, + 0x00, 0x06, 0x41, 0x00, 0x01, 0x51, 0x00, 0x07, 0x11, 0x00, 0x04, 0x01, 0x00, 0x04, 0x01, 0x01, + 0x0e, 0x01, 0x00, 0x08, 0x81, 0x00, 0x08, 0xa1, 0x00, 0x05, 0x81, 0x00, 0x05, 0xa1, 0x00, 0x07, + 0x81, 0x00, 0x04, 0xa1, 0x00, 0x26, 0x21, 0x00, 0x1e, 0x01, 0x00, 0x0c, 0x21, 0x00, 0x0d, 0x61, + 0x00, 0x03, 0x41, 0x00, 0x21, 0x01, 0x00, 0x0f, 0x21, 0x00, 0x05, 0x61, 0x00, 0x09, 0x41, 0x00, + 0x0b, 0x01, 0x00, 0x02, 0x81, 0x00, 0x09, 0xa1, 0x00, 0x02, 0x21, 0x00, 0x0f, 0x61, 0x00, 0x05, + 0x41, 0x00, 0x08, 0x01, 0x00, 0x0e, 0x61, 0x00, 0x01, 0x21, 0x00, 0x0a, 0x01, 0x00, 0x02, 0x21, + 0x00, 0x07, 0x61, 0x00, 0x01, 0x21, 0x00, 0x2a, 0x01, 0x00, 0x07, 0x81, 0x00, 0x0d, 0x91, 0x00, + 0x01, 0x11, 0x00, 0x03, 0x91, 0x00, 0x1d, 0x11, 0x00, 0x17, 0x51, 0x00, 0x03, 0x11, 0x00, 0x12, + 0x01, 0x00, 0x09, 0x81, 0x00, 0x04, 0x01, 0x00, 0x02, 0x81, 0x00, 0x0b, 0x91, 0x00, 0x03, 0x11, + 0x00, 0x01, 0x91, 0x00, 0x04, 0x81, 0x00, 0x05, 0xa1, 0x00, 0x04, 0x81, 0x00, 0x04, 0x91, 0x00, + 0x09, 0x81, 0x00, 0x06, 0x91, 0x00, 0x11, 0x11, 0x00, 0x09, 0x01, 0x00, 0x05, 0x11, 0x00, 0x05, + 0x01, 0x00, 0x06, 0x11, 0x00, 0x03, 0x01, 0x00, 0x0f, 0x11, 0x00, 0x06, 0x51, 0x00, 0x09, 0x41, + 0x00, 0x0f, 0x01, 0x00, 0x01, 0x11, 0x00, 0x06, 0x51, 0x00, 0x0b, 0x41, 0x00, 0x0f, 0x01, 0x00, + 0x01, 0x11, 0x00, 0x05, 0x51, 0x00, 0x0d, 0x41, 0x00, 0x14, 0x01, 0x00, 0x09, 0x01, 0x01, 0x03, + 0x01, 0x00, 0x19, 0x81, 0x00, 0x0e, 0xa1, 0x00, 0x0f, 0x21, 0x00, 0x0c, 0xa1, 0x00, 0x06, 0x21, + 0x00, 0x07, 0x01, 0x00, 0x0d, 0x21, 0x00, 0x12, 0x01, 0x00, 0x1b, 0x11, 0x00, 0x18, 0x51, 0x00, + 0x05, 0x41, 0x00, 0x1b, 0x01, 0x00, 0x06, 0x11, 0x00, 0x10, 0x01, 0x00, 0x06, 0x91, 0x00, 0x02, + 0x11, 0x00, 0x07, 0x01, 0x00, 0x07, 0x01, 0x01, 0x06, 0x01, 0x00, 0x10, 0x81, 0x00, 0x08, 0xa1, + 0x00, 0x02, 0x21, 0x00, 0x0c, 0x01, 0x00, 0x03, 0xa1, 0x00, 0x28, 0x21, 0x00, 0x13, 0x61, 0x00, + 0x04, 0x21, 0x00, 0x1f, 0x01, 0x00, 0x0e, 0x81, 0x00, 0x06, 0xa1, 0x00, 0x21, 0x21, 0x00, 0x1c, + 0x61, 0x00, 0x01, 0x41, 0x00, 0x20, 0x01, 0x00, 0x03, 0x21, 0x00, 0x0c, 0x61, 0x00, 0x02, 0x41, + 0x00, 0x08, 0x01, 0x00, 0x05, 0x41, 0x00, 0x0a, 0x61, 0x00, 0x04, 0x41, 0x00, 0x0f, 0x01, 0x00, + 0x09, 0x81, 0x00, 0x28, 0x91, 0x00, 0x04, 0x11, 0x00, 0x02, 0x91, 0x00, 0x01, 0x11, 0x00, 0x02, + 0x01, 0x00, 0x01, 0x81, 0x00, 0x13, 0x91, 0x00, 0x02, 0x11, 0x00, 0x04, 0x01, 0x00, 0x05, 0x11, + 0x00, 0x1c, 0x01, 0x00, 0x03, 0x11, 0x00, 0x15, 0x01, 0x00, 0x03, 0x11, 0x00, 0x06, 0x01, 0x00, + 0x06, 0x11, 0x00, 0x03, 0x01, 0x00, 0x06, 0x11, 0x00, 0x05, 0x01, 0x00, 0x05, 0x11, 0x00, 0x04, + 0x01, 0x00, 0x06, 0x11, 0x00, 0x04, 0x01, 0x00, 0x0d, 0x11, 0x00, 0x1d, 0x51, 0x00, 0x07, 0x41, + 0x00, 0x0f, 0x01, 0x00, 0x02, 0x11, 0x00, 0x04, 0x51, 0x00, 0x07, 0x41, 0x00, 0x0a, 0x01, 0x00, + 0x06, 0x81, 0x00, 0x05, 0x01, 0x00, 0x19, 0x81, 0x00, 0x0b, 0x01, 0x00, 0x0a, 0x21, 0x00, 0x09, + 0xa1, 0x00, 0x21, 0x21, 0x00, 0x06, 0x01, 0x00, 0x08, 0x21, 0x00, 0x03, 0x01, 0x00, 0x05, 0x21, + 0x00, 0x02, 0xa1, 0x00, 0x05, 0x81, 0x00, 0x02, 0xa1, 0x00, 0x02, 0x21, 0x00, 0x15, 0x01, 0x00, + 0x04, 0x21, 0x00, 0x16, 0x01, 0x00, 0x03, 0x21, 0x00, 0x01, 0x01, 0x00, 0x18, 0x21, 0x00, 0x15, + 0x61, 0x00, 0x02, 0x41, 0x00, 0x01, 0x51, 0x00, 0x0c, 0x11, 0x00, 0x04, 0x01, 0x00, 0x14, 0x61, + 0x00, 0x01, 0x41, 0x00, 0x0b, 0x01, 0x00, 0x03, 0x81, 0x00, 0x03, 0xa1, 0x00, 0x06, 0x21, 0x00, + 0x01, 0x61, 0x00, 0x0e, 0x41, 0x00, 0x09, 0x01, 0x00, 0x06, 0x81, 0x00, 0x09, 0xa1, 0x00, 0x02, + 0x21, 0x00, 0x0d, 0x01, 0x00, 0x09, 0x81, 0x00, 0x01, 0x01, 0x00, 0x0e, 0x81, 0x00, 0x04, 0x01, + 0x00, 0x01, 0x11, 0x00, 0x0e, 0x91, 0x00, 0x01, 0x81, 0x00, 0x07, 0x01, 0x00, 0x24, 0x11, 0x00, + 0x17, 0x51, 0x00, 0x01, 0x41, 0x00, 0x0e, 0x01, 0x00, 0x04, 0x11, 0x00, 0x0c, 0x01, 0x00, 0x01, + 0x41, 0x00, 0x06, 0x51, 0x00, 0x01, 0x41, 0x00, 0x07, 0x01, 0x00, 0x08, 0x11, 0x00, 0x09, 0x01, + 0x00, 0x02, 0x41, 0x00, 0x08, 0x61, 0x00, 0x06, 0x21, 0x00, 0x33, 0x01, 0x00, 0x38, 0x81, 0x00, + 0x0a, 0x01, 0x00, 0x09, 0x01, 0x01, 0x13, 0x01, 0x00, 0x44, 0x41, 0x00, 0x0b, 0x01, 0x00, 0x12, + 0x81, 0x00, 0x0d, 0x01, 0x00, 0x4a, 0x81, 0x00, 0x16, 0x01, 0x00, 0x0a, 0x21, 0x00, 0x06, 0x01, + 0x00, 0x07, 0x21, 0x00, 0x04, 0x01, 0x00, 0x0f, 0x21, 0x00, 0x09, 0x01, 0x00, 0x07, 0x21, 0x00, + 0x0a, 0x61, 0x00, 0x03, 0x21, 0x00, 0x06, 0x01, 0x00, 0x03, 0x81, 0x00, 0x03, 0xa1, 0x00, 0x01, + 0x81, 0x00, 0x04, 0xa1, 0x00, 0x05, 0x21, 0x00, 0x05, 0x61, 0x00, 0x03, 0x41, 0x00, 0x03, 0x11, + 0x00, 0x02, 0x91, 0x00, 0x04, 0x81, 0x00, 0x0c, 0x01, 0x00, 0x09, 0x91, 0x00, 0x09, 0x01, 0x00, + 0x06, 0x11, 0x00, 0x05, 0x01, 0x00, 0x15, 0x11, 0x00, 0x0b, 0x01, 0x00, 0x07, 0x11, 0x00, 0x08, + 0x01, 0x00, 0x07, 0x11, 0x00, 0x06, 0x01, 0x00, 0x04, 0x11, 0x00, 0x06, 0x01, 0x00, 0x06, 0x11, + 0x00, 0x0c, 0x01, 0x00, 0x06, 0x11, 0x00, 0x07, 0x01, 0x00, 0x04, 0x11, 0x00, 0x06, 0x01, 0x00, + 0x05, 0x11, 0x00, 0x05, 0x01, 0x00, 0x06, 0x11, 0x00, 0x03, 0x01, 0x00, 0x06, 0x11, 0x00, 0x06, + 0x01, 0x00, 0x0f, 0x11, 0x00, 0x10, 0x51, 0x00, 0x05, 0x11, 0x00, 0x01, 0x91, 0x00, 0x0a, 0x81, + 0x00, 0x09, 0x01, 0x00, 0x02, 0x21, 0x00, 0x0b, 0xa1, 0x00, 0x0f, 0x21, 0x00, 0x03, 0x01, 0x00, + 0x1b, 0x21, 0x00, 0x0a, 0x01, 0x00, 0x06, 0x21, 0x00, 0x10, 0x01, 0x00, 0x09, 0x21, 0x00, 0x09, + 0x01, 0x00, 0x04, 0x11, 0x00, 0x01, 0x01, 0x00, 0x04, 0x01, 0x01, 0x0c, 0x01, 0x00, 0x06, 0x41, + 0x00, 0x03, 0x51, 0x00, 0x03, 0x41, 0x00, 0x01, 0x51, 0x00, 0x05, 0x11, 0x00, 0x05, 0x41, 0x00, + 0x0b, 0x01, 0x00, 0x18, 0x81, 0x00, 0x03, 0x91, 0x00, 0x33, 0x11, 0x00, 0x0c, 0x51, 0x00, 0x02, + 0x41, 0x00, 0x0e, 0x01, 0x00, 0x01, 0x11, 0x00, 0x03, 0x91, 0x00, 0x0f, 0x81, 0x00, 0x05, 0x01, + 0x00, 0x10, 0x21, 0x00, 0x05, 0x01, 0x00, 0x11, 0x21, 0x00, 0x05, 0x01, 0x00, 0x20, 0x21, 0x00, + 0x0a, 0x01, 0x00, 0x0c, 0x21, 0x00, 0x14, 0x01, 0x00, 0x08, 0x21, 0x00, 0x08, 0x01, 0x00, 0x0c, + 0x21, 0x00, 0x0b, 0x01, 0x00, 0x08, 0x11, 0x00, 0x0a, 0x01, 0x00, 0x0d, 0x21, 0x00, 0x0c, 0x01, + 0x00, 0x07, 0x21, 0x00, 0x16, 0x01, 0x00, 0x16, 0x11, 0x00, 0x0b, 0x01, 0x00, 0x0d, 0x11, 0x00, + 0x0e, 0x01, 0x00, 0x08, 0x11, 0x00, 0x22, 0x01, 0x00, 0x12, 0x11, 0x00, 0x08, 0x51, 0x00, 0x01, + 0x41, 0x00, 0x08, 0x01, 0x00, 0x10, 0x81, 0x00, 0x07, 0x01, 0x00, 0x21, 0x21, 0x00, 0x2d, 0x01, + 0x00, 0x10, 0x21, 0x00, 0x10, 0x01, 0x00, 0x08, 0x21, 0x00, 0x06, 0x01, 0x00, 0x0c, 0x11, 0x00, + 0x05, 0x11, 0x01, 0x01, 0x11, 0x00, 0x18, 0x01, 0x00, 0x07, 0x41, 0x00, 0x08, 0x01, 0x00, 0x07, + 0x81, 0x00, 0x0b, 0x91, 0x00, 0x03, 0x11, 0x00, 0x0a, 0x01, 0x00, 0x1b, 0x11, 0x00, 0x0c, 0x01, + 0x00, 0x10, 0x11, 0x00, 0x02, 0x51, 0x00, 0x09, 0x41, 0x00, 0x07, 0x01, 0x00, 0x01, 0x81, 0x00, + 0x17, 0xa1, 0x00, 0x19, 0x21, 0x00, 0x0b, 0x01, 0x00, 0x07, 0x21, 0x00, 0x0b, 0x01, 0x00, 0x0e, + 0x41, 0x00, 0x12, 0x01, 0x00, 0x17, 0x81, 0x00, 0x02, 0xa1, 0x00, 0x0b, 0x21, 0x00, 0x0b, 0x61, + 0x00, 0x09, 0x41, 0x00, 0x03, 0x51, 0x00, 0x10, 0x11, 0x00, 0x02, 0x01, 0x00, 0x01, 0x11, 0x00, + 0x10, 0x81, 0x00, 0x02, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x21, 0x00, 0x1c, 0x3b, 0x01, 0x00, 0x07, 0x2e, 0x02, 0x00, 0x3b, 0xa4, 0x79, 0x2a, 0x12, + 0x01, 0x00, 0x11, 0x41, 0x00, 0x03, 0x61, 0x00, 0x05, 0x41, 0x00, 0x01, 0x51, 0x00, 0x06, 0x41, + 0x00, 0x18, 0x01, 0x00, 0x03, 0x11, 0x00, 0x1c, 0x01, 0x00, 0x05, 0x81, 0x00, 0x13, 0x01, 0x00, + 0x05, 0x81, 0x00, 0x1b, 0x01, 0x00, 0x05, 0x81, 0x00, 0x13, 0x01, 0x00, 0x04, 0x81, 0x00, 0x13, + 0x01, 0x00, 0x06, 0x81, 0x00, 0x09, 0x01, 0x00, 0x06, 0x81, 0x00, 0x10, 0x01, 0x00, 0x05, 0x81, + 0x00, 0x01, 0xa1, 0x00, 0x02, 0x81, 0x00, 0x06, 0x01, 0x00, 0x06, 0x81, 0x00, 0x07, 0x01, 0x00, + 0x05, 0x81, 0x00, 0x04, 0x01, 0x00, 0x05, 0x81, 0x00, 0x06, 0x01, 0x00, 0x07, 0x81, 0x00, 0x28, + 0x01, 0x00, 0x19, 0x21, 0x00, 0x2b, 0x61, 0x00, 0x02, 0x41, 0x00, 0x0c, 0x01, 0x00, 0x03, 0x41, + 0x00, 0x09, 0x61, 0x00, 0x01, 0x41, 0x00, 0x0b, 0x01, 0x00, 0x1b, 0x41, 0x00, 0x09, 0x01, 0x00, + 0x1f, 0x81, 0x00, 0x12, 0x01, 0x00, 0x0a, 0x41, 0x00, 0x24, 0x01, 0x00, 0x01, 0x91, 0x00, 0x06, + 0x81, 0x00, 0x0b, 0x01, 0x00, 0x0a, 0x41, 0x00, 0x17, 0x01, 0x00, 0x03, 0x11, 0x00, 0x0c, 0x01, + 0x00, 0x0c, 0x81, 0x00, 0x07, 0x01, 0x00, 0x06, 0x21, 0x00, 0x0d, 0x01, 0x00, 0x2a, 0x81, 0x00, + 0x18, 0x91, 0x00, 0x21, 0x11, 0x00, 0x0e, 0x01, 0x00, 0x46, 0x11, 0x00, 0x1e, 0x51, 0x00, 0x3f, + 0x41, 0x00, 0x01, 0x01, 0x00, 0x01, 0x11, 0x00, 0x01, 0x91, 0x00, 0x12, 0x81, 0x00, 0x24, 0xa1, + 0x00, 0x12, 0x21, 0x00, 0x09, 0xa1, 0x00, 0x05, 0x21, 0x00, 0x03, 0x61, 0x00, 0x09, 0x41, 0x00, + 0x0c, 0x01, 0x00, 0x03, 0x21, 0x00, 0x02, 0xa1, 0x00, 0x0c, 0x81, 0x00, 0x10, 0xa1, 0x00, 0x04, + 0x81, 0x00, 0x0a, 0x01, 0x00, 0x19, 0x21, 0x00, 0x06, 0x01, 0x00, 0x0a, 0x81, 0x00, 0x05, 0x01, + 0x00, 0x09, 0x21, 0x00, 0x03, 0x01, 0x00, 0x07, 0x21, 0x00, 0x10, 0x01, 0x00, 0x01, 0x21, 0x00, + 0x0f, 0x61, 0x00, 0x02, 0x41, 0x00, 0x0f, 0x01, 0x00, 0x0a, 0x41, 0x00, 0x09, 0x01, 0x00, 0x03, + 0x61, 0x00, 0x01, 0x41, 0x00, 0x02, 0x01, 0x00, 0x0c, 0x91, 0x00, 0x01, 0x11, 0x00, 0x01, 0x51, + 0x00, 0x06, 0x41, 0x00, 0x05, 0x51, 0x00, 0x05, 0x11, 0x00, 0x04, 0x91, 0x00, 0x28, 0x11, 0x00, + 0x0d, 0x01, 0x00, 0x06, 0x11, 0x00, 0x05, 0x01, 0x00, 0x04, 0x11, 0x00, 0x06, 0x01, 0x00, 0x04, + 0x11, 0x00, 0x03, 0x91, 0x00, 0x03, 0x81, 0x00, 0x09, 0x01, 0x00, 0x06, 0x11, 0x00, 0x06, 0x01, + 0x00, 0x06, 0x11, 0x00, 0x06, 0x01, 0x00, 0x06, 0x41, 0x00, 0x03, 0x51, 0x00, 0x03, 0x11, 0x00, + 0x01, 0x01, 0x00, 0x01, 0x11, 0x00, 0x08, 0x51, 0x00, 0x08, 0x41, 0x00, 0x15, 0x51, 0x00, 0x06, + 0x41, 0x00, 0x0a, 0x01, 0x00, 0x01, 0x11, 0x00, 0x06, 0x10, 0x00, 0x01, 0x50, 0x00, 0x09, 0x40, + 0x00, 0x02, 0x60, 0x00, 0x01, 0x20, 0x00, 0x03, 0x21, 0x00, 0x27, 0xa1, 0x00, 0x01, 0x21, 0x00, + 0x0d, 0x01, 0x00, 0x17, 0x81, 0x00, 0x17, 0xa1, 0x00, 0x02, 0x21, 0x00, 0x0f, 0x01, 0x00, 0x05, + 0x11, 0x00, 0x09, 0x01, 0x00, 0x0c, 0x01, 0x01, 0x20, 0x01, 0x00, 0x05, 0x11, 0x00, 0x0a, 0x01, + 0x00, 0x17, 0x11, 0x00, 0x1b, 0x51, 0x00, 0x13, 0x41, 0x00, 0x0b, 0x50, 0x00, 0x13, 0x40, 0x00, + 0x08, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x81, 0x00, 0x26, 0xa1, 0x00, 0x03, 0x21, 0x00, 0x13, + 0x01, 0x00, 0x08, 0x21, 0x00, 0x07, 0x01, 0x00, 0x06, 0x21, 0x00, 0x06, 0x01, 0x00, 0x09, 0x21, + 0x00, 0x06, 0x01, 0x00, 0x0e, 0x21, 0x00, 0x0d, 0x61, 0x00, 0x01, 0x21, 0x00, 0x01, 0x01, 0x00, + 0x01, 0x81, 0x00, 0x03, 0xa1, 0x00, 0x02, 0x81, 0x00, 0x01, 0xa1, 0x00, 0x09, 0x21, 0x00, 0x02, + 0x61, 0x00, 0x07, 0x41, 0x00, 0x03, 0x51, 0x00, 0x01, 0x11, 0x00, 0x01, 0x01, 0x00, 0x01, 0x81, + 0x00, 0x03, 0xa1, 0x00, 0x05, 0x81, 0x00, 0x01, 0xa1, 0x00, 0x04, 0x21, 0x00, 0x04, 0x01, 0x00, + 0x03, 0x41, 0x00, 0x04, 0x51, 0x00, 0x02, 0x11, 0x00, 0x2a, 0x91, 0x00, 0x07, 0x11, 0x00, 0x30, + 0x01, 0x00, 0x0d, 0x11, 0x00, 0x0e, 0x01, 0x00, 0x20, 0x11, 0x00, 0x01, 0x51, 0x00, 0x09, 0x41, + 0x00, 0x0c, 0x01, 0x00, 0x07, 0x11, 0x00, 0x03, 0x01, 0x00, 0x03, 0x11, 0x00, 0x03, 0x51, 0x00, + 0x07, 0x41, 0x00, 0x08, 0x01, 0x00, 0x05, 0x11, 0x00, 0x02, 0x51, 0x00, 0x33, 0x41, 0x00, 0x17, + 0x01, 0x00, 0x08, 0x81, 0x00, 0x0e, 0xa1, 0x00, 0x2e, 0x81, 0x00, 0x05, 0xa1, 0x00, 0x06, 0x21, + 0x00, 0x19, 0x01, 0x00, 0x28, 0x21, 0x00, 0x07, 0xa1, 0x00, 0x27, 0x21, 0x00, 0x1a, 0x61, 0x00, + 0x02, 0x21, 0x00, 0x10, 0x01, 0x00, 0x0f, 0x41, 0x00, 0x08, 0x61, 0x00, 0x03, 0x41, 0x00, 0x04, + 0x01, 0x00, 0x15, 0x41, 0x00, 0x08, 0x61, 0x00, 0x11, 0x01, 0x00, 0x13, 0x81, 0x00, 0x17, 0x91, + 0x00, 0x24, 0x11, 0x00, 0x0b, 0x51, 0x00, 0x01, 0x11, 0x00, 0x08, 0x01, 0x00, 0x02, 0x11, 0x00, + 0x10, 0x01, 0x00, 0x04, 0x11, 0x00, 0x05, 0x01, 0x00, 0x07, 0x81, 0x00, 0x07, 0x01, 0x00, 0x01, + 0x81, 0x00, 0x08, 0x91, 0x00, 0x03, 0x81, 0x00, 0x05, 0x01, 0x00, 0x08, 0x91, 0x00, 0x01, 0x81, + 0x00, 0x04, 0x01, 0x00, 0x02, 0x11, 0x00, 0x0b, 0x91, 0x00, 0x08, 0x11, 0x00, 0x02, 0x91, 0x00, + 0x07, 0x81, 0x00, 0x05, 0x01, 0x00, 0x18, 0x00, 0x00, 0x01, 0x20, 0x00, 0x0c, 0x21, 0x00, 0x05, + 0x01, 0x00, 0x05, 0x91, 0x00, 0x01, 0x81, 0x00, 0x01, 0x01, 0x00, 0x1f, 0x21, 0x00, 0x08, 0x01, + 0x00, 0x05, 0x00, 0x00, 0x01, 0x20, 0x00, 0x0c, 0x60, 0x00, 0x02, 0x20, 0x00, 0x01, 0x00, 0x00, + 0x05, 0x80, 0x00, 0x02, 0xa0, 0x00, 0x0e, 0x20, 0x00, 0x03, 0x00, 0x00, 0x0b, 0x20, 0x00, 0x04, + 0x60, 0x00, 0x03, 0x20, 0x00, 0x07, 0x00, 0x00, 0x08, 0x40, 0x00, 0x2f, 0x50, 0x00, 0x04, 0x40, + 0x00, 0x01, 0x00, 0x00, 0x0d, 0x01, 0x00, 0x01, 0x11, 0x00, 0x03, 0x51, 0x00, 0x0b, 0x01, 0x00, + 0x01, 0x41, 0x00, 0x1b, 0x01, 0x00, 0x01, 0x00, 0x00, 0x54, 0x80, 0x00, 0x43, 0x00, 0x00, 0x14, + 0x40, 0x00, 0x0c, 0x00, 0x00, 0x27, 0x01, 0x00, 0x0f, 0x41, 0x00, 0x0e, 0x01, 0x00, 0x08, 0x41, + 0x00, 0x12, 0x01, 0x00, 0x05, 0x41, 0x00, 0x2a, 0x01, 0x00, 0x11, 0x41, 0x00, 0x1a, 0x01, 0x00, + 0x09, 0x41, 0x00, 0x38, 0x01, 0x00, 0x03, 0x81, 0x00, 0x4b, 0x80, 0x00, 0x3d, 0x00, 0x00, 0x16, + 0x40, 0x00, 0x01, 0x00, 0x00, 0x21, 0x01, 0x00, 0x11, 0x00, 0x00, 0x29, 0x40, 0x00, 0x30, 0x00, + 0x00, 0x06, 0x01, 0x00, 0x07, 0x00, 0x00, 0x38, 0x80, 0x00, 0x13, 0x00, 0x00, 0x15, 0x40, 0x00, + 0x0b, 0x41, 0x00, 0x1a, 0x01, 0x00, 0x03, 0x41, 0x00, 0x08, 0x01, 0x00, 0x1f, 0x81, 0x00, 0x0f, + 0x91, 0x00, 0x04, 0x11, 0x00, 0x03, 0x51, 0x00, 0x09, 0x41, 0x00, 0x13, 0x01, 0x00, 0x11, 0x41, + 0x00, 0x0d, 0x01, 0x00, 0x06, 0x11, 0x00, 0x05, 0x01, 0x00, 0x07, 0x41, 0x00, 0x01, 0x61, 0x00, + 0x04, 0x21, 0x00, 0x13, 0xa1, 0x00, 0x0c, 0x01, 0x00, 0x06, 0x21, 0x00, 0x02, 0xa1, 0x00, 0x0f, + 0x01, 0x00, 0x08, 0x41, 0x00, 0x08, 0x01, 0x00, 0x06, 0x21, 0x00, 0x08, 0x01, 0x00, 0x07, 0x21, + 0x00, 0x0c, 0x01, 0x00, 0x08, 0x21, 0x00, 0x04, 0x61, 0x00, 0x05, 0x41, 0x00, 0x09, 0x01, 0x00, + 0x05, 0x21, 0x00, 0x02, 0x61, 0x00, 0x02, 0x41, 0x00, 0x05, 0x01, 0x00, 0x06, 0x41, 0x00, 0x04, + 0x01, 0x00, 0x0e, 0x81, 0x00, 0x02, 0xa1, 0x00, 0x03, 0x21, 0x00, 0x04, 0x61, 0x00, 0x07, 0x41, + 0x00, 0x09, 0x01, 0x00, 0x01, 0x11, 0x00, 0x17, 0x91, 0x00, 0x0e, 0x11, 0x00, 0x14, 0x01, 0x00, + 0x06, 0x11, 0x00, 0x0b, 0x01, 0x00, 0x04, 0x11, 0x00, 0x09, 0x01, 0x00, 0x06, 0x91, 0x00, 0x06, + 0x11, 0x00, 0x03, 0x01, 0x00, 0x05, 0x11, 0x00, 0x03, 0x51, 0x00, 0x01, 0x41, 0x00, 0x06, 0x01, + 0x00, 0x06, 0x11, 0x00, 0x10, 0x51, 0x00, 0x01, 0x41, 0x00, 0x16, 0x01, 0x00, 0x08, 0x11, 0x00, + 0x04, 0x51, 0x00, 0x05, 0x41, 0x00, 0x0e, 0x01, 0x00, 0x08, 0x21, 0x00, 0x12, 0xa1, 0x00, 0x09, + 0x21, 0x00, 0x0f, 0x61, 0x00, 0x02, 0x21, 0x00, 0x09, 0x01, 0x00, 0x06, 0xa1, 0x00, 0x09, 0x81, + 0x00, 0x0e, 0x01, 0x00, 0x05, 0x21, 0x00, 0x01, 0xa1, 0x00, 0x13, 0x81, 0x00, 0x03, 0x01, 0x00, + 0x03, 0x21, 0x00, 0x12, 0x61, 0x00, 0x01, 0x41, 0x00, 0x09, 0x01, 0x00, 0x0f, 0x61, 0x00, 0x01, + 0x41, 0x00, 0x16, 0x01, 0x00, 0x01, 0x11, 0x00, 0x19, 0x91, 0x00, 0x0b, 0x11, 0x00, 0x03, 0x51, + 0x00, 0x08, 0x41, 0x00, 0x14, 0x01, 0x00, 0x05, 0x11, 0x00, 0x05, 0x81, 0x00, 0x05, 0x01, 0x00, + 0x07, 0x11, 0x00, 0x0d, 0x01, 0x00, 0x03, 0x41, 0x00, 0x09, 0x61, 0x00, 0x23, 0x41, 0x00, 0x0a, + 0x01, 0x00, 0x05, 0x41, 0x00, 0x0c, 0x01, 0x00, 0x01, 0x21, 0x00, 0x2f, 0x01, 0x00, 0x05, 0x41, + 0x00, 0x2c, 0x01, 0x00, 0x02, 0x21, 0x00, 0x19, 0x01, 0x00, 0x03, 0x11, 0x00, 0x1a, 0x01, 0x00, + 0x04, 0x21, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x11, 0x00, 0x37, 0x01, 0x00, 0x06, 0x81, 0x00, 0x04, + 0x01, 0x00, 0x05, 0x81, 0x00, 0x03, 0x01, 0x00, 0x1c, 0x81, 0x00, 0x01, 0xa1, 0x00, 0x1e, 0x21, + 0x00, 0x02, 0x61, 0x00, 0x01, 0x41, 0x00, 0x08, 0x11, 0x00, 0x09, 0x01, 0x00, 0x2b, 0x81, 0x00, + 0x09, 0x01, 0x00, 0x0b, 0x01, 0x01, 0x1b, 0x01, 0x00, 0x14, 0x11, 0x00, 0x10, 0x51, 0x00, 0x02, + 0x41, 0x00, 0x13, 0x01, 0x00, 0x03, 0x11, 0x00, 0x0f, 0x51, 0x00, 0x15, 0x41, 0x00, 0x12, 0x61, + 0x00, 0x03, 0x21, 0x00, 0x0b, 0x01, 0x00, 0x06, 0x21, 0x00, 0x18, 0x01, 0x00, 0x03, 0x81, 0x00, + 0x04, 0x01, 0x00, 0x07, 0x21, 0x00, 0x04, 0x01, 0x00, 0x01, 0x81, 0x00, 0x04, 0x91, 0x00, 0x0f, + 0x81, 0x00, 0x08, 0x01, 0x00, 0x24, 0x81, 0x00, 0x06, 0x01, 0x00, 0x0c, 0x41, 0x00, 0x05, 0x51, + 0x00, 0x01, 0x11, 0x00, 0x09, 0x51, 0x00, 0x06, 0x41, 0x00, 0x06, 0x51, 0x00, 0x03, 0x41, 0x00, + 0x0c, 0x61, 0x00, 0x03, 0x21, 0x00, 0x0c, 0x01, 0x00, 0x05, 0x41, 0x00, 0x01, 0x61, 0x00, 0x12, + 0x01, 0x00, 0x04, 0x21, 0x00, 0x79, 0x01, 0x00, 0x04, 0x81, 0x00, 0x07, 0x01, 0x00, 0x05, 0x81, + 0x00, 0x05, 0x01, 0x00, 0x3a, 0x81, 0x00, 0x0f, 0x91, 0x00, 0x1a, 0x11, 0x00, 0x24, 0x51, 0x00, + 0x1c, 0x41, 0x00, 0x18, 0x01, 0x00, 0x0e, 0x00, 0x00, 0x0c, 0x80, 0x00, 0x25, 0x00, 0x00, 0x01, + 0x20, 0x00, 0x0c, 0xa0, 0x00, 0x0e, 0x20, 0x00, 0x09, 0x60, 0x00, 0x12, 0x61, 0x00, 0x06, 0x01, + 0x00, 0x10, 0x81, 0x00, 0x04, 0xa1, 0x00, 0x07, 0x21, 0x00, 0x0a, 0x61, 0x00, 0x04, 0x41, 0x00, + 0x09, 0x01, 0x00, 0x05, 0x21, 0x00, 0x01, 0xa1, 0x00, 0x2b, 0x81, 0x00, 0x03, 0x91, 0x00, 0x0f, + 0x81, 0x00, 0x0c, 0x01, 0x00, 0x23, 0x11, 0x00, 0x11, 0x01, 0x00, 0x08, 0x11, 0x00, 0x15, 0x51, + 0x00, 0x15, 0x41, 0x00, 0x05, 0x40, 0x00, 0x07, 0x50, 0x00, 0x12, 0x40, 0x00, 0x07, 0x00, 0x00, + 0x05, 0x01, 0x00, 0x14, 0x81, 0x00, 0x17, 0xa1, 0x00, 0x19, 0x21, 0x00, 0x10, 0x61, 0x00, 0x12, + 0x01, 0x00, 0x05, 0x21, 0x00, 0x07, 0x01, 0x00, 0x06, 0x81, 0x00, 0x04, 0x01, 0x00, 0x02, 0x81, + 0x00, 0x04, 0xa1, 0x00, 0x2a, 0x21, 0x00, 0x08, 0x61, 0x00, 0x17, 0x60, 0x00, 0x01, 0x40, 0x00, + 0x09, 0x00, 0x00, 0x07, 0x40, 0x00, 0x09, 0x00, 0x00, 0x0b, 0x01, 0x00, 0x06, 0x81, 0x00, 0x06, + 0x01, 0x00, 0x0c, 0x11, 0x00, 0x0c, 0x91, 0x00, 0x14, 0x01, 0x00, 0x03, 0x11, 0x00, 0x04, 0x91, + 0x00, 0x06, 0x81, 0x00, 0x0a, 0x91, 0x00, 0x02, 0x81, 0x00, 0x09, 0x01, 0x00, 0x05, 0x91, 0x00, + 0x03, 0x81, 0x00, 0x07, 0x01, 0x00, 0x08, 0x91, 0x00, 0x1f, 0x01, 0x00, 0x1e, 0x11, 0x00, 0x06, + 0x91, 0x00, 0x06, 0x11, 0x00, 0x0a, 0x01, 0x00, 0x12, 0x11, 0x00, 0x11, 0x51, 0x00, 0x04, 0x41, + 0x00, 0x09, 0x61, 0x00, 0x0a, 0x41, 0x00, 0x03, 0x21, 0x00, 0x0e, 0xa1, 0x00, 0x03, 0x81, 0x00, + 0x01, 0x01, 0x00, 0x01, 0x11, 0x00, 0x03, 0x91, 0x00, 0x02, 0x81, 0x00, 0x02, 0xa1, 0x00, 0x07, + 0x21, 0x00, 0x09, 0x01, 0x00, 0x09, 0x21, 0x00, 0x03, 0xa1, 0x00, 0x0a, 0x21, 0x00, 0x03, 0x61, + 0x00, 0x04, 0x41, 0x00, 0x0a, 0x01, 0x00, 0x28, 0x81, 0x00, 0x15, 0x01, 0x00, 0x0c, 0x01, 0x01, + 0x23, 0x01, 0x00, 0x22, 0x11, 0x00, 0x28, 0x51, 0x00, 0x04, 0x41, 0x00, 0x0d, 0x40, 0x00, 0x09, + 0x00, 0x00, 0x03, 0x10, 0x00, 0x02, 0x50, 0x00, 0x04, 0x40, 0x00, 0x02, 0x41, 0x00, 0x1c, 0x01, + 0x00, 0x09, 0x81, 0x00, 0x04, 0x01, 0x00, 0x06, 0x81, 0x00, 0x08, 0xa1, 0x00, 0x06, 0x21, 0x00, + 0x03, 0x01, 0x00, 0x06, 0xa1, 0x00, 0x0b, 0x01, 0x00, 0x03, 0x21, 0x00, 0x08, 0xa1, 0x00, 0x04, + 0x21, 0x00, 0x04, 0x01, 0x00, 0x0d, 0x21, 0x00, 0x04, 0x01, 0x00, 0x0a, 0x21, 0x00, 0x08, 0x01, + 0x00, 0x09, 0x21, 0x00, 0x03, 0x01, 0x00, 0x08, 0x21, 0x00, 0x04, 0x01, 0x00, 0x05, 0x21, 0x00, + 0x1e, 0x01, 0x00, 0x16, 0x21, 0x00, 0x05, 0x01, 0x00, 0x17, 0x21, 0x00, 0x1c, 0x61, 0x00, 0x05, + 0x60, 0x00, 0x0c, 0x00, 0x00, 0x03, 0x40, 0x00, 0x02, 0x60, 0x00, 0x04, 0x40, 0x00, 0x06, 0x00, + 0x00, 0x0a, 0x01, 0x00, 0x01, 0x11, 0x00, 0x28, 0x91, 0x00, 0x13, 0x01, 0x00, 0x05, 0x11, 0x00, + 0x05, 0x01, 0x00, 0x19, 0x11, 0x00, 0x07, 0x51, 0x00, 0x03, 0x41, 0x00, 0x02, 0x61, 0x00, 0x02, + 0x21, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x81, 0x00, 0x01, 0x11, 0x00, 0x1e, 0x01, 0x00, 0x02, 0x91, + 0x00, 0x01, 0x81, 0x00, 0x09, 0xa1, 0x00, 0x05, 0x81, 0x00, 0x03, 0x01, 0x00, 0x04, 0x21, 0x00, + 0x03, 0x01, 0x00, 0x02, 0x21, 0x00, 0x07, 0x41, 0x00, 0x02, 0x51, 0x00, 0x04, 0x11, 0x00, 0x03, + 0x91, 0x00, 0x06, 0x01, 0x00, 0x03, 0x21, 0x00, 0x08, 0x01, 0x00, 0x08, 0x11, 0x00, 0x02, 0x91, + 0x00, 0x0b, 0x81, 0x00, 0x0b, 0x01, 0x00, 0x08, 0x81, 0x00, 0x04, 0x91, 0x00, 0x03, 0x01, 0x00, + 0x01, 0x11, 0x00, 0x06, 0x91, 0x00, 0x1e, 0x11, 0x00, 0x2e, 0x51, 0x00, 0x03, 0x41, 0x00, 0x13, + 0x01, 0x00, 0x08, 0x81, 0x00, 0x05, 0x01, 0x00, 0x06, 0x81, 0x00, 0x06, 0x01, 0x00, 0x04, 0x21, + 0x00, 0x09, 0xa1, 0x00, 0x0d, 0x21, 0x00, 0x08, 0x01, 0x00, 0x15, 0x21, 0x00, 0x06, 0x01, 0x00, + 0x0b, 0x21, 0x00, 0x03, 0x01, 0x00, 0x0c, 0x21, 0x00, 0x0e, 0x01, 0x00, 0x05, 0x21, 0x00, 0x1e, + 0x01, 0x00, 0x05, 0xa1, 0x00, 0x05, 0x21, 0x00, 0x07, 0x01, 0x00, 0x05, 0x21, 0x00, 0x05, 0x01, + 0x00, 0x06, 0x21, 0x00, 0x04, 0x01, 0x00, 0x15, 0x21, 0x00, 0x0c, 0x61, 0x00, 0x02, 0x41, 0x00, + 0x25, 0x01, 0x00, 0x03, 0x21, 0x00, 0x1b, 0x61, 0x00, 0x20, 0x01, 0x00, 0x0b, 0x41, 0x00, 0x0a, + 0x01, 0x00, 0x08, 0x81, 0x00, 0x0e, 0x91, 0x00, 0x08, 0x11, 0x00, 0x0f, 0x01, 0x00, 0x09, 0x81, + 0x00, 0x04, 0x91, 0x00, 0x0c, 0x11, 0x00, 0x0c, 0x01, 0x00, 0x01, 0x11, 0x00, 0x08, 0x91, 0x00, + 0x03, 0x81, 0x00, 0x0a, 0x01, 0x00, 0x08, 0x11, 0x00, 0x0c, 0x01, 0x00, 0x06, 0x11, 0x00, 0x07, + 0x01, 0x00, 0x06, 0x11, 0x00, 0x05, 0x01, 0x00, 0x0c, 0x11, 0x00, 0x0f, 0x01, 0x00, 0x06, 0x11, + 0x00, 0x08, 0x01, 0x00, 0x05, 0x11, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x11, 0x00, 0x03, 0x91, 0x00, + 0x02, 0x11, 0x00, 0x08, 0x01, 0x00, 0x08, 0x81, 0x00, 0x08, 0x01, 0x00, 0x06, 0x11, 0x00, 0x02, + 0x51, 0x00, 0x04, 0x41, 0x00, 0x03, 0x61, 0x00, 0x04, 0x41, 0x00, 0x08, 0x01, 0x00, 0x05, 0xa1, + 0x00, 0x0c, 0x81, 0x00, 0x04, 0x01, 0x00, 0x09, 0x11, 0x00, 0x19, 0x51, 0x00, 0x01, 0x11, 0x00, + 0x0a, 0x01, 0x00, 0x08, 0x11, 0x00, 0x02, 0x91, 0x00, 0x16, 0x81, 0x00, 0x17, 0xa1, 0x00, 0x01, + 0x21, 0x00, 0x07, 0x01, 0x01, 0x11, 0x01, 0x00, 0x17, 0x21, 0x00, 0x09, 0x01, 0x00, 0x0a, 0x21, + 0x00, 0x01, 0x61, 0x00, 0x08, 0x41, 0x00, 0x05, 0x01, 0x00, 0x04, 0x21, 0x00, 0x03, 0xa1, 0x00, + 0x0a, 0x81, 0x00, 0x18, 0x01, 0x00, 0x06, 0x21, 0x00, 0x1d, 0x01, 0x00, 0x0c, 0x21, 0x00, 0x0a, + 0x01, 0x00, 0x03, 0x21, 0x00, 0x29, 0x61, 0x00, 0x05, 0x41, 0x00, 0x01, 0x01, 0x00, 0x09, 0x00, + 0x00, 0x06, 0x20, 0x00, 0x09, 0x60, 0x00, 0x10, 0x40, 0x00, 0x0b, 0x00, 0x00, 0x0f, 0x01, 0x00, + 0x09, 0x81, 0x00, 0x04, 0x01, 0x00, 0x19, 0x91, 0x00, 0x01, 0x11, 0x00, 0x0a, 0x01, 0x00, 0x04, + 0x11, 0x00, 0x04, 0x91, 0x00, 0x09, 0x81, 0x00, 0x09, 0x91, 0x00, 0x08, 0x01, 0x00, 0x10, 0x11, + 0x00, 0x09, 0x01, 0x00, 0x0c, 0x11, 0x00, 0x09, 0x01, 0x00, 0x06, 0x11, 0x00, 0x06, 0x01, 0x00, + 0x03, 0x11, 0x00, 0x06, 0x01, 0x00, 0x06, 0x11, 0x00, 0x03, 0x01, 0x00, 0x06, 0x11, 0x00, 0x03, + 0x91, 0x00, 0x05, 0x81, 0x00, 0x0f, 0x01, 0x00, 0x12, 0x11, 0x00, 0x09, 0x01, 0x00, 0x02, 0x11, + 0x00, 0x06, 0x91, 0x00, 0x06, 0x11, 0x00, 0x01, 0x51, 0x00, 0x15, 0x41, 0x00, 0x08, 0x51, 0x00, + 0x0d, 0x41, 0x00, 0x02, 0x61, 0x00, 0x04, 0x21, 0x00, 0x0f, 0xa1, 0x00, 0x24, 0x81, 0x00, 0x0b, + 0x01, 0x00, 0x19, 0x21, 0x00, 0x09, 0x61, 0x00, 0x0b, 0x41, 0x00, 0x0b, 0x01, 0x00, 0x05, 0x21, + 0x00, 0x10, 0x01, 0x00, 0x19, 0x81, 0x00, 0x08, 0x01, 0x00, 0x01, 0x81, 0x00, 0x12, 0x01, 0x00, + 0x05, 0x21, 0x00, 0x2b, 0x61, 0x00, 0x07, 0x21, 0x00, 0x19, 0x01, 0x00, 0x08, 0x81, 0x00, 0x0c, + 0xa1, 0x00, 0x02, 0x81, 0x00, 0x03, 0x91, 0x00, 0x05, 0x81, 0x00, 0x04, 0xa1, 0x00, 0x05, 0x81, + 0x00, 0x05, 0xa1, 0x00, 0x04, 0x21, 0x00, 0x03, 0x61, 0x00, 0x07, 0x41, 0x00, 0x01, 0x51, 0x00, + 0x01, 0x11, 0x00, 0x09, 0x91, 0x00, 0x04, 0x01, 0x00, 0x01, 0x81, 0x00, 0x07, 0x91, 0x00, 0x0a, + 0x01, 0x00, 0x1e, 0x11, 0x00, 0x21, 0x51, 0x00, 0x08, 0x41, 0x00, 0x15, 0x01, 0x00, 0x0c, 0x81, + 0x00, 0x20, 0x01, 0x00, 0x05, 0x81, 0x00, 0x03, 0xa1, 0x00, 0x06, 0x21, 0x00, 0x02, 0x61, 0x00, + 0x02, 0x41, 0x00, 0x05, 0x51, 0x00, 0x04, 0x11, 0x00, 0x05, 0x01, 0x00, 0x27, 0x81, 0x00, 0x0c, + 0x01, 0x00, 0x0a, 0x01, 0x01, 0x06, 0x01, 0x00, 0x43, 0x41, 0x00, 0x20, 0x01, 0x00, 0x04, 0x81, + 0x00, 0x06, 0x01, 0x00, 0x03, 0x81, 0x00, 0x06, 0x01, 0x00, 0x04, 0x81, 0x00, 0x14, 0x01, 0x00, + 0x04, 0x81, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x81, 0x00, 0x04, 0x01, 0x00, 0x05, 0x81, 0x00, 0x04, + 0x01, 0x00, 0x06, 0x81, 0x00, 0x04, 0x01, 0x00, 0x05, 0x81, 0x00, 0x04, 0x01, 0x00, 0x05, 0x81, + 0x00, 0x06, 0x01, 0x00, 0x03, 0x81, 0x00, 0x06, 0x01, 0x00, 0x04, 0x81, 0x00, 0x05, 0x01, 0x00, + 0x06, 0x81, 0x00, 0x03, 0x01, 0x00, 0x06, 0x81, 0x00, 0x03, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x11, 0x00, 0x01, 0x1f, 0x01, 0x00, 0x2a, 0x3b, 0x01, 0x00, 0x91, 0x79, 0xd0, 0x24, 0x20, + 0x01, 0x00, 0x05, 0x41, 0x00, 0x04, 0x61, 0x00, 0x34, 0x21, 0x00, 0x08, 0x01, 0x00, 0x1e, 0x11, + 0x00, 0x10, 0x51, 0x00, 0x26, 0x11, 0x00, 0x0f, 0x01, 0x00, 0x1b, 0x11, 0x00, 0x09, 0x91, 0x00, + 0x03, 0x11, 0x00, 0x35, 0x01, 0x00, 0x26, 0x21, 0x00, 0x0d, 0x01, 0x00, 0x1e, 0x21, 0x00, 0x2e, + 0x01, 0x00, 0x39, 0x21, 0x00, 0x18, 0x01, 0x00, 0x09, 0x21, 0x00, 0x09, 0x01, 0x00, 0x09, 0x11, + 0x00, 0x09, 0x01, 0x00, 0x07, 0x21, 0x00, 0x23, 0x01, 0x00, 0x15, 0x81, 0x00, 0x07, 0x91, 0x00, + 0x0c, 0x81, 0x00, 0x16, 0x01, 0x00, 0x07, 0x11, 0x00, 0x09, 0x01, 0x00, 0x07, 0x11, 0x00, 0x35, + 0x01, 0x00, 0x0d, 0x11, 0x00, 0x12, 0x01, 0x00, 0x09, 0x11, 0x00, 0x0f, 0x01, 0x00, 0x4e, 0x11, + 0x00, 0x01, 0x01, 0x00, 0x1e, 0x21, 0x00, 0x08, 0x21, 0x01, 0x0c, 0x21, 0x00, 0x18, 0x01, 0x00, + 0x03, 0x21, 0x00, 0x33, 0x20, 0x00, 0x28, 0x00, 0x00, 0x2c, 0x10, 0x00, 0x15, 0x00, 0x00, 0x03, + 0x10, 0x00, 0x20, 0x00, 0x00, 0x16, 0x40, 0x00, 0x0c, 0x41, 0x00, 0x0c, 0x01, 0x00, 0x02, 0x21, + 0x00, 0x04, 0xa1, 0x00, 0x13, 0x81, 0x00, 0x19, 0x91, 0x00, 0x18, 0x11, 0x00, 0x0f, 0x01, 0x00, + 0x0a, 0x11, 0x00, 0x1a, 0x51, 0x00, 0x03, 0x41, 0x00, 0x0a, 0x01, 0x00, 0x08, 0x81, 0x00, 0x10, + 0x01, 0x00, 0x02, 0x21, 0x00, 0x03, 0xa1, 0x00, 0x04, 0x81, 0x00, 0x02, 0xa1, 0x00, 0x05, 0x21, + 0x00, 0x08, 0x61, 0x00, 0x2a, 0x21, 0x00, 0x08, 0x61, 0x00, 0x02, 0x21, 0x00, 0x08, 0x01, 0x00, + 0x03, 0x21, 0x00, 0x03, 0xa1, 0x00, 0x02, 0x81, 0x00, 0x05, 0x01, 0x00, 0x08, 0x81, 0x00, 0x04, + 0x01, 0x00, 0x09, 0x81, 0x00, 0x03, 0xa1, 0x00, 0x11, 0x21, 0x00, 0x03, 0x61, 0x00, 0x1f, 0x60, + 0x00, 0x05, 0x40, 0x00, 0x0d, 0x00, 0x00, 0x07, 0x20, 0x00, 0x01, 0xa0, 0x00, 0x02, 0x80, 0x00, + 0x05, 0x10, 0x00, 0x05, 0x50, 0x00, 0x04, 0x40, 0x00, 0x04, 0x60, 0x00, 0x01, 0x20, 0x00, 0x03, + 0x60, 0x00, 0x02, 0x40, 0x00, 0x03, 0x50, 0x00, 0x04, 0x40, 0x00, 0x07, 0x50, 0x00, 0x01, 0x10, + 0x00, 0x0c, 0x00, 0x00, 0x01, 0x80, 0x00, 0x03, 0xa0, 0x00, 0x07, 0x20, 0x00, 0x02, 0x00, 0x00, + 0x08, 0x40, 0x00, 0x0a, 0x00, 0x00, 0x1c, 0x10, 0x00, 0x01, 0x80, 0x00, 0x08, 0xa0, 0x00, 0x04, + 0x80, 0x00, 0x01, 0x90, 0x00, 0x22, 0x91, 0x00, 0x02, 0x11, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x11, + 0x00, 0x0a, 0x81, 0x00, 0x08, 0x01, 0x00, 0x08, 0x11, 0x00, 0x03, 0x51, 0x00, 0x06, 0x41, 0x00, + 0x09, 0x01, 0x00, 0x1b, 0x81, 0x00, 0x03, 0x91, 0x00, 0x04, 0x11, 0x00, 0x15, 0x51, 0x00, 0x05, + 0x41, 0x00, 0x03, 0x61, 0x00, 0x06, 0x21, 0x00, 0x10, 0xa1, 0x00, 0x01, 0x21, 0x00, 0x08, 0xa1, + 0x00, 0x01, 0x21, 0x00, 0x01, 0xa1, 0x00, 0x14, 0x01, 0x00, 0x08, 0x21, 0x00, 0x0f, 0x01, 0x00, + 0x01, 0x41, 0x00, 0x0c, 0x61, 0x00, 0x05, 0x41, 0x00, 0x08, 0x61, 0x00, 0x04, 0x21, 0x00, 0x22, + 0x61, 0x00, 0x01, 0x41, 0x00, 0x07, 0x01, 0x00, 0x0e, 0x41, 0x00, 0x02, 0x51, 0x00, 0x03, 0x11, + 0x00, 0x07, 0x91, 0x00, 0x0b, 0x81, 0x00, 0x34, 0x91, 0x00, 0x01, 0x11, 0x00, 0x1e, 0x01, 0x00, + 0x07, 0x81, 0x00, 0x07, 0x91, 0x00, 0x05, 0x11, 0x00, 0x01, 0x51, 0x00, 0x06, 0x41, 0x00, 0x06, + 0x51, 0x00, 0x07, 0x11, 0x00, 0x12, 0x01, 0x00, 0x0e, 0x21, 0x00, 0x11, 0xa1, 0x00, 0x01, 0x21, + 0x00, 0x08, 0x01, 0x00, 0x0b, 0x21, 0x00, 0x02, 0x61, 0x00, 0x05, 0x41, 0x00, 0x03, 0x51, 0x00, + 0x05, 0x11, 0x00, 0x05, 0x91, 0x00, 0x01, 0x81, 0x00, 0x01, 0x01, 0x00, 0x04, 0x21, 0x00, 0x13, + 0x61, 0x00, 0x03, 0x41, 0x00, 0x0e, 0x01, 0x00, 0x06, 0x81, 0x00, 0x21, 0x01, 0x00, 0x13, 0x11, + 0x00, 0x06, 0x51, 0x00, 0x10, 0x41, 0x00, 0x06, 0x51, 0x00, 0x13, 0x41, 0x00, 0x05, 0x21, 0x00, + 0x12, 0x01, 0x00, 0x05, 0x41, 0x00, 0x3e, 0x01, 0x00, 0x01, 0x81, 0x00, 0x31, 0x01, 0x00, 0x02, + 0x81, 0x00, 0x06, 0x01, 0x00, 0x05, 0x81, 0x00, 0x04, 0x01, 0x00, 0x07, 0x81, 0x00, 0x02, 0x01, + 0x00, 0x17, 0x81, 0x00, 0x11, 0x01, 0x00, 0x07, 0x11, 0x00, 0x0e, 0x01, 0x00, 0x02, 0x81, 0x00, + 0x05, 0x91, 0x00, 0x04, 0x11, 0x00, 0x02, 0x51, 0x00, 0x06, 0x41, 0x00, 0x08, 0x01, 0x00, 0x06, + 0x21, 0x00, 0x0d, 0xa1, 0x00, 0x02, 0x81, 0x00, 0x05, 0x01, 0x00, 0x10, 0x81, 0x00, 0x03, 0xa1, + 0x00, 0x02, 0x21, 0x00, 0x02, 0x61, 0x00, 0x09, 0x41, 0x00, 0x08, 0x51, 0x00, 0x0e, 0x41, 0x00, + 0x02, 0x61, 0x00, 0x0c, 0x21, 0x00, 0x01, 0x41, 0x00, 0x02, 0x01, 0x00, 0x10, 0x11, 0x00, 0x03, + 0x01, 0x00, 0x15, 0x41, 0x00, 0x09, 0x01, 0x00, 0x31, 0x81, 0x00, 0x0d, 0x01, 0x00, 0x07, 0x41, + 0x00, 0x0b, 0x01, 0x00, 0x10, 0x81, 0x00, 0x02, 0xa1, 0x00, 0x07, 0x21, 0x00, 0x09, 0x61, 0x00, + 0x05, 0x41, 0x00, 0x01, 0x51, 0x00, 0x05, 0x11, 0x00, 0x18, 0x91, 0x00, 0x01, 0x11, 0x00, 0x05, + 0x01, 0x00, 0x08, 0x21, 0x00, 0x0e, 0x01, 0x00, 0x03, 0x11, 0x00, 0x03, 0x51, 0x00, 0x03, 0x41, + 0x00, 0x08, 0x51, 0x00, 0x06, 0x41, 0x00, 0x04, 0x51, 0x00, 0x02, 0x41, 0x00, 0x16, 0x61, 0x00, + 0x14, 0x41, 0x00, 0x0d, 0x01, 0x00, 0x04, 0x41, 0x00, 0x0f, 0x01, 0x00, 0x02, 0x21, 0x00, 0x24, + 0x01, 0x00, 0x05, 0x81, 0x00, 0x11, 0x01, 0x00, 0x05, 0x81, 0x00, 0x04, 0x01, 0x00, 0x05, 0x81, + 0x00, 0x05, 0x01, 0x00, 0x05, 0x81, 0x00, 0x04, 0x01, 0x00, 0x07, 0x81, 0x00, 0x01, 0x01, 0x00, + 0x25, 0x81, 0x00, 0x0c, 0x01, 0x00, 0x15, 0x41, 0x00, 0x0a, 0x01, 0x00, 0x0a, 0x41, 0x00, 0x04, + 0x01, 0x00, 0x04, 0x41, 0x00, 0x41, 0x01, 0x00, 0x0f, 0x41, 0x00, 0x0f, 0x01, 0x00, 0x03, 0x21, + 0x00, 0x06, 0x01, 0x00, 0x04, 0x21, 0x00, 0x06, 0x01, 0x00, 0x04, 0x21, 0x00, 0x05, 0x01, 0x00, + 0x05, 0x21, 0x00, 0x04, 0x01, 0x00, 0x06, 0x21, 0x00, 0x03, 0x01, 0x00, 0x06, 0x21, 0x00, 0x09, + 0x01, 0x00, 0x02, 0x41, 0x00, 0x08, 0x01, 0x00, 0x05, 0x21, 0x00, 0x05, 0x01, 0x00, 0x04, 0x21, + 0x00, 0x06, 0x01, 0x00, 0x03, 0x21, 0x00, 0x08, 0x01, 0x00, 0x03, 0x21, 0x00, 0x0d, 0x01, 0x00, + 0x02, 0x21, 0x00, 0x07, 0x01, 0x00, 0x04, 0x21, 0x00, 0x05, 0x01, 0x00, 0x05, 0x21, 0x00, 0x05, + 0x01, 0x00, 0x05, 0x21, 0x00, 0x04, 0x01, 0x00, 0x06, 0x21, 0x00, 0x04, 0x01, 0x00, 0x06, 0x21, + 0x00, 0x04, 0x01, 0x00, 0x06, 0x21, 0x00, 0x04, 0x01, 0x00, 0x06, 0x21, 0x00, 0x05, 0x01, 0x00, + 0x05, 0x21, 0x00, 0x0e, 0x01, 0x00, 0x05, 0x41, 0x00, 0x0c, 0x01, 0x00, 0x48, 0x11, 0x00, 0x10, + 0x01, 0x00, 0x03, 0x11, 0x00, 0x0d, 0x01, 0x00, 0x03, 0x11, 0x00, 0x10, 0x01, 0x00, 0x02, 0x41, + 0x00, 0xb5, 0x01, 0x00, 0x03, 0x81, 0x00, 0x06, 0x01, 0x00, 0x06, 0x81, 0x00, 0x03, 0x01, 0x00, + 0x06, 0x81, 0x00, 0x03, 0x01, 0x00, 0x07, 0x81, 0x00, 0x03, 0x01, 0x00, 0x06, 0x81, 0x00, 0x03, + 0x01, 0x00, 0x30, 0x81, 0x00, 0x17, 0x01, 0x00, 0x08, 0x01, 0x01, 0x09, 0x01, 0x00, 0x48, 0x41, + 0x00, 0x13, 0x01, 0x00, 0x03, 0x41, 0x00, 0x15, 0x01, 0x00, 0x05, 0x81, 0x00, 0x10, 0x01, 0x00, + 0x1d, 0x81, 0x00, 0x0d, 0x01, 0x00, 0x2f, 0x81, 0x00, 0x04, 0x01, 0x00, 0x08, 0x11, 0x00, 0x0e, + 0x01, 0x00, 0x03, 0x11, 0x00, 0x04, 0x51, 0x00, 0x03, 0x41, 0x00, 0x04, 0x51, 0x00, 0x04, 0x41, + 0x00, 0x0e, 0x01, 0x00, 0x04, 0x11, 0x00, 0x07, 0x51, 0x00, 0x01, 0x41, 0x00, 0x07, 0x01, 0x00, + 0x02, 0x21, 0x00, 0x25, 0xa1, 0x00, 0x04, 0x21, 0x00, 0x01, 0x61, 0x00, 0x09, 0x41, 0x00, 0x03, + 0x51, 0x00, 0x0c, 0x01, 0x00, 0x05, 0x61, 0x00, 0x04, 0x41, 0x00, 0x05, 0x01, 0x00, 0x01, 0x11, + 0x00, 0x16, 0x91, 0x00, 0x04, 0x11, 0x00, 0x03, 0x51, 0x00, 0x08, 0x01, 0x00, 0x09, 0x81, 0x00, + 0x01, 0x91, 0x00, 0x01, 0x01, 0x00, 0x07, 0x11, 0x00, 0x0a, 0x01, 0x00, 0x0a, 0x11, 0x00, 0x03, + 0x51, 0x00, 0x09, 0x41, 0x00, 0x05, 0x61, 0x00, 0x02, 0x21, 0x00, 0x06, 0x01, 0x00, 0x06, 0x11, + 0x00, 0x04, 0x51, 0x00, 0x06, 0x41, 0x00, 0x04, 0x51, 0x00, 0x03, 0x11, 0x00, 0x03, 0x51, 0x00, + 0x05, 0x41, 0x00, 0x02, 0x51, 0x00, 0x02, 0x41, 0x00, 0x11, 0x01, 0x00, 0x07, 0x81, 0x00, 0x03, + 0x91, 0x00, 0x02, 0x11, 0x00, 0x05, 0x51, 0x00, 0x0e, 0x41, 0x00, 0x03, 0x61, 0x00, 0x0c, 0x21, + 0x00, 0x0c, 0xa1, 0x00, 0x0f, 0x21, 0x00, 0x0e, 0x61, 0x00, 0x02, 0x41, 0x00, 0x0f, 0x01, 0x00, + 0x0f, 0x81, 0x00, 0x06, 0xa1, 0x00, 0x02, 0x21, 0x00, 0x05, 0xa1, 0x00, 0x0a, 0x81, 0x00, 0x19, + 0x91, 0x00, 0x02, 0x11, 0x00, 0x05, 0x51, 0x00, 0x0c, 0x41, 0x00, 0x03, 0x61, 0x00, 0x01, 0x21, + 0x00, 0x03, 0x01, 0x00, 0x03, 0x21, 0x00, 0x02, 0xa1, 0x00, 0x03, 0x81, 0x00, 0x01, 0x01, 0x00, + 0x08, 0x91, 0x00, 0x03, 0x11, 0x00, 0x09, 0x51, 0x00, 0x04, 0x41, 0x00, 0x0f, 0x61, 0x00, 0x01, + 0x01, 0x00, 0x0e, 0x91, 0x00, 0x02, 0x11, 0x00, 0x07, 0x51, 0x00, 0x0e, 0x41, 0x00, 0x03, 0x61, + 0x00, 0x03, 0x41, 0x00, 0x0c, 0x51, 0x00, 0x03, 0x41, 0x00, 0x01, 0x61, 0x00, 0x06, 0x21, 0x00, + 0x0c, 0xa1, 0x00, 0x05, 0x21, 0x00, 0x08, 0x61, 0x00, 0x08, 0x21, 0x00, 0x07, 0x61, 0x00, 0x02, + 0x41, 0x00, 0x04, 0x61, 0x00, 0x02, 0x41, 0x00, 0x1a, 0x01, 0x00, 0x03, 0x11, 0x00, 0x0f, 0x01, + 0x00, 0x03, 0x21, 0x00, 0x10, 0x01, 0x00, 0x04, 0x81, 0x00, 0x06, 0x01, 0x00, 0x04, 0x81, 0x00, + 0x06, 0x01, 0x00, 0x04, 0x81, 0x00, 0x05, 0x01, 0x00, 0x06, 0x81, 0x00, 0x03, 0x01, 0x00, 0x06, + 0x81, 0x00, 0x03, 0x01, 0x00, 0x06, 0x81, 0x00, 0x01, 0x01, 0x00, 0x22, 0x81, 0x00, 0x05, 0x01, + 0x00, 0x06, 0x81, 0x00, 0x03, 0x01, 0x00, 0x0f, 0x81, 0x00, 0x03, 0x91, 0x00, 0x29, 0x11, 0x00, + 0x0c, 0x51, 0x00, 0x03, 0x41, 0x00, 0x16, 0x01, 0x00, 0x08, 0x81, 0x00, 0x09, 0x01, 0x00, 0x09, + 0x11, 0x00, 0x01, 0x91, 0x00, 0x02, 0x81, 0x00, 0x03, 0x21, 0x00, 0x04, 0xa1, 0x00, 0x03, 0x81, + 0x00, 0x03, 0xa1, 0x00, 0x33, 0x21, 0x00, 0x08, 0x61, 0x00, 0x06, 0x41, 0x00, 0x11, 0x01, 0x00, + 0x0a, 0x81, 0x00, 0x07, 0x01, 0x00, 0x03, 0x21, 0x00, 0x0f, 0x61, 0x00, 0x03, 0x41, 0x00, 0x14, + 0x01, 0x00, 0x09, 0x01, 0x01, 0x05, 0x01, 0x00, 0x02, 0x81, 0x00, 0x12, 0x91, 0x00, 0x01, 0x81, + 0x00, 0x0c, 0x01, 0x00, 0x05, 0x11, 0x00, 0x0a, 0x01, 0x00, 0x05, 0x11, 0x00, 0x06, 0x01, 0x00, + 0x05, 0x11, 0x00, 0x04, 0x01, 0x00, 0x06, 0x11, 0x00, 0x06, 0x01, 0x00, 0x03, 0x11, 0x00, 0x0b, + 0x01, 0x00, 0x04, 0x41, 0x00, 0x08, 0x01, 0x00, 0x08, 0x11, 0x00, 0x02, 0x51, 0x00, 0x06, 0x41, + 0x00, 0x06, 0x51, 0x00, 0x09, 0x41, 0x00, 0x08, 0x51, 0x00, 0x09, 0x41, 0x00, 0x16, 0x01, 0x00, + 0x1a, 0x21, 0x00, 0x01, 0x41, 0x00, 0x12, 0x61, 0x00, 0x0b, 0x41, 0x00, 0x2a, 0x01, 0x00, 0x05, + 0x81, 0x00, 0x12, 0x01, 0x00, 0x05, 0x81, 0x00, 0x10, 0x01, 0x00, 0x05, 0x21, 0x00, 0x05, 0x01, + 0x00, 0x06, 0x81, 0x00, 0x08, 0x01, 0x00, 0x01, 0x81, 0x00, 0x03, 0x91, 0x00, 0x40, 0x81, 0x00, + 0x09, 0x01, 0x00, 0x24, 0x21, 0x00, 0x17, 0x61, 0x00, 0x01, 0x21, 0x00, 0x08, 0x01, 0x00, 0x06, + 0x91, 0x00, 0x0c, 0x81, 0x00, 0x0b, 0x01, 0x00, 0x01, 0x41, 0x00, 0x08, 0x61, 0x00, 0x08, 0x21, + 0x00, 0x03, 0x61, 0x00, 0x02, 0x41, 0x00, 0x04, 0x11, 0x00, 0x04, 0x91, 0x00, 0x0b, 0x81, 0x00, + 0x11, 0x91, 0x00, 0x1c, 0x11, 0x00, 0x14, 0x51, 0x00, 0x01, 0x41, 0x00, 0x11, 0x01, 0x00, 0x05, + 0x11, 0x00, 0x08, 0x01, 0x00, 0x0c, 0x81, 0x00, 0x06, 0x01, 0x00, 0x01, 0x81, 0x00, 0x28, 0x11, + 0x00, 0x18, 0x41, 0x00, 0x04, 0x01, 0x00, 0x0b, 0x81, 0x00, 0x03, 0x91, 0x00, 0x09, 0x11, 0x00, + 0x06, 0x51, 0x00, 0x22, 0x41, 0x00, 0x06, 0x51, 0x00, 0x03, 0x41, 0x00, 0x07, 0x01, 0x00, 0x08, + 0x00, 0x00, 0x02, 0xa0, 0x00, 0x3e, 0xa1, 0x00, 0x02, 0x81, 0x00, 0x24, 0x01, 0x00, 0x05, 0x21, + 0x00, 0x7c, 0x01, 0x00, 0x36, 0x21, 0x00, 0x03, 0x01, 0x00, 0x02, 0x21, 0x00, 0x06, 0x61, 0x00, + 0x02, 0x41, 0x00, 0x09, 0x01, 0x00, 0x0b, 0x81, 0x00, 0x07, 0x01, 0x00, 0x05, 0x21, 0x00, 0x07, + 0x61, 0x00, 0x0a, 0x01, 0x00, 0x05, 0x21, 0x00, 0x07, 0x61, 0x00, 0x04, 0x01, 0x00, 0x0f, 0x81, + 0x00, 0x0a, 0x01, 0x00, 0x20, 0x11, 0x00, 0x0b, 0x01, 0x00, 0x12, 0x11, 0x00, 0x1b, 0x51, 0x00, + 0x03, 0x41, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x81, 0x00, 0x02, 0x91, 0x00, 0x06, 0x11, 0x00, 0x0a, + 0x01, 0x00, 0x03, 0x21, 0x00, 0x03, 0xa1, 0x00, 0x18, 0x81, 0x00, 0x06, 0x01, 0x00, 0x0e, 0x11, + 0x00, 0x03, 0x01, 0x00, 0x03, 0x01, 0x01, 0x03, 0x01, 0x00, 0x0e, 0x21, 0x00, 0x0c, 0x01, 0x00, + 0x0c, 0x41, 0x00, 0x07, 0x21, 0x00, 0x09, 0x01, 0x00, 0x05, 0x41, 0x00, 0x25, 0x61, 0x00, 0x02, + 0x41, 0x00, 0x01, 0x01, 0x00, 0x01, 0x11, 0x00, 0x0a, 0x01, 0x00, 0x09, 0x61, 0x00, 0x04, 0x21, + 0x00, 0x06, 0x01, 0x00, 0x01, 0x81, 0x00, 0x04, 0xa1, 0x00, 0x02, 0x21, 0x00, 0x0d, 0x01, 0x00, + 0x0d, 0x11, 0x00, 0x15, 0x91, 0x00, 0x18, 0x11, 0x00, 0x12, 0x01, 0x00, 0x05, 0x81, 0x00, 0x0a, + 0x01, 0x00, 0x03, 0x11, 0x00, 0x04, 0x01, 0x00, 0x04, 0x81, 0x00, 0x02, 0xa1, 0x00, 0x1e, 0x81, + 0x00, 0x06, 0x91, 0x00, 0x1b, 0x11, 0x00, 0x02, 0x51, 0x00, 0x09, 0x41, 0x00, 0x1b, 0x61, 0x00, + 0x03, 0x41, 0x00, 0x03, 0x51, 0x00, 0x03, 0x41, 0x00, 0x06, 0x61, 0x00, 0x09, 0x41, 0x00, 0x0b, + 0x01, 0x00, 0x04, 0x21, 0x00, 0x09, 0x01, 0x00, 0x0f, 0x81, 0x00, 0x04, 0x01, 0x00, 0x0b, 0x81, + 0x00, 0x03, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x01, 0x00, 0xbb, 0x19, 0x01, 0x00, 0x27, 0x1c, 0x01, 0x00, 0x56, 0x85, 0x3f, 0x46, 0x08, + 0x01, 0x00, 0x19, 0x00, 0x00, 0x10, 0x40, 0x00, 0x06, 0x60, 0x00, 0x05, 0x40, 0x00, 0x10, 0x00, + 0x00, 0x06, 0x80, 0x00, 0x09, 0x00, 0x00, 0x03, 0x10, 0x00, 0x17, 0x00, 0x00, 0x04, 0x40, 0x00, + 0x20, 0x00, 0x00, 0x02, 0x80, 0x00, 0x16, 0x00, 0x00, 0x03, 0x10, 0x00, 0x10, 0x00, 0x00, 0x02, + 0x80, 0x00, 0x12, 0x00, 0x00, 0x03, 0x80, 0x00, 0xcf, 0x00, 0x00, 0x0b, 0x01, 0x00, 0x02, 0x11, + 0x00, 0x01, 0x51, 0x00, 0x05, 0x41, 0x00, 0x03, 0x61, 0x00, 0x04, 0x21, 0x00, 0x0f, 0x01, 0x00, + 0x05, 0x11, 0x00, 0x04, 0x91, 0x00, 0x05, 0x81, 0x00, 0x24, 0x01, 0x00, 0x06, 0x11, 0x00, 0x05, + 0x01, 0x00, 0x06, 0x11, 0x00, 0x0e, 0x01, 0x00, 0x02, 0x41, 0x00, 0x01, 0x61, 0x00, 0x06, 0x21, + 0x00, 0x0e, 0x01, 0x00, 0x01, 0x21, 0x00, 0x01, 0x01, 0x00, 0x01, 0x81, 0x00, 0x03, 0x01, 0x00, + 0x03, 0x91, 0x00, 0x03, 0x81, 0x00, 0x12, 0x01, 0x00, 0x04, 0x41, 0x00, 0x10, 0x01, 0x00, 0x07, + 0x21, 0x00, 0x0c, 0x01, 0x00, 0x0c, 0x11, 0x00, 0x09, 0x41, 0x00, 0x05, 0x01, 0x00, 0x06, 0x11, + 0x00, 0x01, 0x51, 0x00, 0x01, 0x41, 0x00, 0x02, 0x61, 0x00, 0x04, 0x21, 0x00, 0x02, 0xa1, 0x00, + 0x06, 0x81, 0x00, 0x34, 0x01, 0x00, 0x05, 0x21, 0x00, 0x02, 0x01, 0x00, 0x01, 0x81, 0x00, 0x0b, + 0x91, 0x00, 0x08, 0x11, 0x00, 0x09, 0x41, 0x00, 0x05, 0x61, 0x00, 0x03, 0x21, 0x00, 0x03, 0x01, + 0x00, 0x01, 0x11, 0x00, 0x04, 0x91, 0x00, 0x02, 0x11, 0x00, 0x17, 0x01, 0x00, 0x06, 0x21, 0x00, + 0x0f, 0x01, 0x00, 0x10, 0x21, 0x00, 0x22, 0x01, 0x00, 0x01, 0x21, 0x00, 0x0a, 0x01, 0x00, 0x01, + 0x41, 0x00, 0x02, 0x61, 0x00, 0x03, 0x21, 0x00, 0x01, 0x41, 0x00, 0x06, 0x01, 0x00, 0x03, 0x41, + 0x00, 0x09, 0x01, 0x00, 0x06, 0x41, 0x00, 0x08, 0x01, 0x00, 0x05, 0x41, 0x00, 0x22, 0x01, 0x00, + 0x05, 0x81, 0x00, 0x18, 0x01, 0x00, 0x13, 0x81, 0x00, 0x1f, 0x01, 0x00, 0x21, 0x41, 0x00, 0x28, + 0x01, 0x00, 0x0b, 0x81, 0x00, 0x14, 0x01, 0x00, 0x08, 0x81, 0x00, 0x0c, 0x01, 0x00, 0x06, 0x81, + 0x00, 0x06, 0x01, 0x00, 0x03, 0x81, 0x00, 0x09, 0x01, 0x00, 0x09, 0x81, 0x00, 0x0c, 0x01, 0x00, + 0x21, 0x41, 0x00, 0x23, 0x01, 0x00, 0x0d, 0x81, 0x00, 0x15, 0x01, 0x00, 0x1a, 0x81, 0x00, 0x0f, + 0x01, 0x00, 0x24, 0x41, 0x00, 0x25, 0x01, 0x00, 0x0b, 0x81, 0x00, 0x21, 0x01, 0x00, 0x0c, 0x81, + 0x00, 0x15, 0x01, 0x00, 0x1b, 0x41, 0x00, 0x17, 0x01, 0x00, 0x1c, 0x81, 0x00, 0x16, 0x01, 0x00, + 0x0b, 0x41, 0x00, 0x06, 0x01, 0x00, 0x0d, 0x81, 0x00, 0x15, 0x01, 0x00, 0x0c, 0x81, 0x00, 0x0a, + 0x01, 0x00, 0x28, 0x41, 0x00, 0x31, 0x01, 0x00, 0x18, 0x81, 0x00, 0x39, 0x01, 0x00, 0x07, 0x41, + 0x00, 0x20, 0x01, 0x00, 0x06, 0x81, 0x00, 0x24, 0x01, 0x00, 0x0b, 0x41, 0x00, 0x0c, 0x01, 0x00, + 0x0c, 0x81, 0x00, 0x06, 0x01, 0x00, 0x04, 0x81, 0x00, 0x2e, 0x01, 0x00, 0x0a, 0x21, 0x00, 0x06, + 0x01, 0x00, 0x0a, 0x21, 0x00, 0x03, 0x01, 0x00, 0x02, 0x41, 0x00, 0x03, 0x51, 0x00, 0x07, 0x11, + 0x00, 0x02, 0x91, 0x00, 0x08, 0x11, 0x00, 0x18, 0x01, 0x00, 0x0c, 0x81, 0x00, 0x06, 0x01, 0x00, + 0x01, 0x11, 0x00, 0x08, 0x51, 0x00, 0x05, 0x41, 0x00, 0x02, 0x61, 0x00, 0x04, 0x21, 0x00, 0x03, + 0xa1, 0x00, 0x06, 0x81, 0x00, 0x0c, 0x01, 0x00, 0x0a, 0x81, 0x00, 0x01, 0xa1, 0x00, 0x03, 0x21, + 0x00, 0x04, 0x61, 0x00, 0x08, 0x41, 0x00, 0x09, 0x01, 0x00, 0x03, 0x21, 0x00, 0x04, 0x61, 0x00, + 0x04, 0x41, 0x00, 0x03, 0x51, 0x00, 0x03, 0x11, 0x00, 0x0a, 0x91, 0x00, 0x01, 0x11, 0x00, 0x02, + 0x91, 0x00, 0x0d, 0x81, 0x00, 0x05, 0x91, 0x00, 0x09, 0x11, 0x00, 0x01, 0x51, 0x00, 0x02, 0x41, + 0x00, 0x12, 0x61, 0x00, 0x01, 0x41, 0x00, 0x0a, 0x01, 0x00, 0x15, 0x81, 0x00, 0x06, 0xa1, 0x00, + 0x04, 0x81, 0x00, 0x09, 0xa1, 0x00, 0x03, 0x21, 0x00, 0x02, 0x61, 0x00, 0x0d, 0x41, 0x00, 0x08, + 0x51, 0x00, 0x01, 0x11, 0x00, 0x05, 0x91, 0x00, 0x04, 0x81, 0x00, 0x05, 0xa1, 0x00, 0x03, 0x81, + 0x00, 0x02, 0xa1, 0x00, 0x0b, 0x21, 0x00, 0x0d, 0x01, 0x00, 0x11, 0x21, 0x00, 0x09, 0x01, 0x00, + 0x03, 0x21, 0x00, 0x03, 0x61, 0x00, 0x06, 0x41, 0x00, 0x0c, 0x01, 0x00, 0x03, 0x61, 0x00, 0x09, + 0x41, 0x00, 0x11, 0x61, 0x00, 0x08, 0x41, 0x00, 0x03, 0x51, 0x00, 0x0f, 0x11, 0x00, 0x01, 0x91, + 0x00, 0x01, 0x81, 0x00, 0x03, 0xa1, 0x00, 0x05, 0x81, 0x00, 0x03, 0xa1, 0x00, 0x03, 0x81, 0x00, + 0x12, 0x11, 0x00, 0x12, 0x51, 0x00, 0x0c, 0x11, 0x00, 0x10, 0x01, 0x00, 0x03, 0x11, 0x00, 0x0c, + 0x01, 0x00, 0x07, 0x81, 0x00, 0x06, 0x01, 0x00, 0x09, 0x81, 0x00, 0x03, 0x91, 0x00, 0x08, 0x11, + 0x00, 0x03, 0x51, 0x00, 0x06, 0x41, 0x00, 0x08, 0x61, 0x00, 0x03, 0x21, 0x00, 0x0b, 0x01, 0x00, + 0x28, 0x81, 0x00, 0x0f, 0x01, 0x00, 0x05, 0x41, 0x00, 0x05, 0x01, 0x00, 0x08, 0x81, 0x00, 0x01, + 0x91, 0x00, 0x03, 0x11, 0x00, 0x02, 0x51, 0x00, 0x12, 0x41, 0x00, 0x01, 0x61, 0x00, 0x05, 0x21, + 0x00, 0x03, 0x61, 0x00, 0x07, 0x41, 0x00, 0x1b, 0x01, 0x00, 0x03, 0x41, 0x00, 0x0f, 0x01, 0x00, + 0x06, 0x81, 0x00, 0x17, 0x01, 0x00, 0x03, 0x81, 0x00, 0x2b, 0x01, 0x00, 0x20, 0x11, 0x00, 0x0c, + 0x51, 0x00, 0x01, 0x41, 0x00, 0x11, 0x01, 0x00, 0x12, 0x81, 0x00, 0x09, 0x91, 0x00, 0x0e, 0x11, + 0x00, 0x05, 0x51, 0x00, 0x18, 0x41, 0x00, 0x27, 0x81, 0x00, 0x03, 0xa1, 0x00, 0x35, 0x21, 0x00, + 0x0f, 0x61, 0x00, 0x03, 0x41, 0x00, 0x13, 0x01, 0x00, 0x06, 0x21, 0x00, 0x03, 0x61, 0x00, 0x06, + 0x41, 0x00, 0x06, 0x51, 0x00, 0x06, 0x41, 0x00, 0x03, 0x51, 0x00, 0x04, 0x11, 0x00, 0x02, 0x91, + 0x00, 0x03, 0x81, 0x00, 0x03, 0x91, 0x00, 0x03, 0x11, 0x00, 0x1a, 0x41, 0x00, 0x07, 0x01, 0x00, + 0x0c, 0x91, 0x00, 0x0c, 0x11, 0x00, 0x03, 0x51, 0x00, 0x09, 0x11, 0x00, 0x02, 0x51, 0x00, 0x01, + 0x41, 0x00, 0x06, 0x61, 0x00, 0x03, 0x21, 0x00, 0x1e, 0xa1, 0x00, 0x09, 0x01, 0x00, 0x08, 0x21, + 0x00, 0x1b, 0x01, 0x00, 0x28, 0x81, 0x00, 0x06, 0x21, 0x00, 0x10, 0x61, 0x00, 0x04, 0x41, 0x00, + 0x0d, 0x01, 0x00, 0x08, 0x41, 0x00, 0x06, 0x51, 0x00, 0x0d, 0x11, 0x00, 0x02, 0x51, 0x00, 0x0c, + 0x41, 0x00, 0x12, 0x01, 0x00, 0x04, 0x41, 0x00, 0x05, 0x51, 0x00, 0x09, 0x01, 0x00, 0x16, 0x81, + 0x00, 0x03, 0xa1, 0x00, 0x05, 0x21, 0x00, 0x0d, 0x01, 0x00, 0x08, 0x81, 0x00, 0x1c, 0x01, 0x00, + 0x12, 0x81, 0x00, 0x0e, 0x01, 0x00, 0x05, 0xa1, 0x00, 0x08, 0x21, 0x00, 0x0e, 0x61, 0x00, 0x07, + 0x41, 0x00, 0x0b, 0x01, 0x00, 0x0a, 0x41, 0x00, 0x09, 0x01, 0x00, 0x02, 0x41, 0x00, 0x06, 0x61, + 0x00, 0x03, 0x41, 0x00, 0x01, 0x51, 0x00, 0x06, 0x11, 0x00, 0x0c, 0x51, 0x00, 0x0e, 0x01, 0x00, + 0x06, 0x11, 0x00, 0x14, 0x01, 0x00, 0x0c, 0x11, 0x00, 0x31, 0x01, 0x00, 0x22, 0x11, 0x00, 0x09, + 0x01, 0x00, 0x0c, 0x81, 0x00, 0x09, 0xa1, 0x00, 0x08, 0x21, 0x00, 0x07, 0x61, 0x00, 0x05, 0x21, + 0x00, 0x07, 0xa1, 0x00, 0x03, 0x21, 0x00, 0x08, 0x01, 0x00, 0x02, 0x81, 0x00, 0x05, 0xa1, 0x00, + 0x08, 0x81, 0x00, 0x01, 0xa1, 0x00, 0x06, 0x21, 0x00, 0x07, 0x01, 0x00, 0x09, 0x21, 0x00, 0x08, + 0x01, 0x00, 0x03, 0x21, 0x00, 0x11, 0x61, 0x00, 0x03, 0x41, 0x00, 0x12, 0x01, 0x00, 0x22, 0x11, + 0x00, 0x05, 0x51, 0x00, 0x09, 0x41, 0x00, 0x0d, 0x01, 0x00, 0x0c, 0x11, 0x00, 0x02, 0x01, 0x00, + 0x07, 0x21, 0x00, 0x14, 0x01, 0x00, 0x07, 0x81, 0x00, 0x61, 0x01, 0x00, 0x06, 0x81, 0x00, 0x0b, + 0x01, 0x00, 0x03, 0x21, 0x00, 0x06, 0x01, 0x00, 0x04, 0x21, 0x00, 0x06, 0x01, 0x00, 0x05, 0x21, + 0x00, 0x04, 0x01, 0x00, 0x05, 0x21, 0x00, 0x0f, 0x01, 0x00, 0x04, 0x21, 0x00, 0x05, 0x01, 0x00, + 0x05, 0x21, 0x00, 0x05, 0x01, 0x00, 0x04, 0x21, 0x00, 0x06, 0x01, 0x00, 0x04, 0x21, 0x00, 0x07, + 0x01, 0x00, 0x03, 0x21, 0x00, 0x0d, 0x01, 0x00, 0x01, 0x21, 0x00, 0x02, 0x61, 0x00, 0x04, 0x21, + 0x00, 0x06, 0x01, 0x00, 0x06, 0x41, 0x00, 0x09, 0x01, 0x00, 0x07, 0x21, 0x00, 0x07, 0x01, 0x00, + 0x01, 0x21, 0x00, 0x0e, 0x01, 0x00, 0x04, 0x21, 0x00, 0x05, 0x01, 0x00, 0x1f, 0x21, 0x00, 0x11, + 0x01, 0x00, 0x03, 0x11, 0x00, 0x12, 0x01, 0x00, 0x09, 0x81, 0x00, 0x08, 0x01, 0x00, 0x07, 0x81, + 0x00, 0x0a, 0x01, 0x00, 0x05, 0x11, 0x00, 0x06, 0x91, 0x00, 0x25, 0x11, 0x00, 0x0f, 0x01, 0x00, + 0x02, 0x11, 0x00, 0x06, 0x01, 0x00, 0x05, 0x11, 0x00, 0x05, 0x01, 0x00, 0x05, 0x11, 0x00, 0x04, + 0x01, 0x00, 0x04, 0x11, 0x00, 0x08, 0x01, 0x00, 0x01, 0x11, 0x00, 0x0b, 0x01, 0x00, 0x05, 0x11, + 0x00, 0x07, 0x01, 0x00, 0x05, 0x11, 0x00, 0x07, 0x01, 0x00, 0x03, 0x11, 0x00, 0x06, 0x01, 0x00, + 0x04, 0x11, 0x00, 0x07, 0x01, 0x00, 0x04, 0x11, 0x00, 0x05, 0x01, 0x00, 0x04, 0x11, 0x00, 0x06, + 0x01, 0x00, 0x05, 0x11, 0x00, 0x04, 0x01, 0x00, 0x05, 0x11, 0x00, 0x05, 0x01, 0x00, 0x06, 0x11, + 0x00, 0x0c, 0x01, 0x00, 0x02, 0x11, 0x00, 0x07, 0x01, 0x00, 0x04, 0x11, 0x00, 0x06, 0x01, 0x00, + 0x04, 0x11, 0x00, 0x08, 0x01, 0x00, 0x03, 0x11, 0x00, 0x03, 0x01, 0x00, 0x16, 0x41, 0x00, 0x02, + 0x01, 0x00, 0x05, 0x11, 0x00, 0x02, 0x51, 0x00, 0x08, 0x41, 0x00, 0x0a, 0x01, 0x00, 0x01, 0x11, + 0x00, 0x07, 0x91, 0x00, 0x0d, 0x11, 0x00, 0x0e, 0x01, 0x00, 0x07, 0x41, 0x00, 0x09, 0x01, 0x00, + 0x04, 0x21, 0x00, 0x11, 0xa1, 0x00, 0x27, 0x21, 0x00, 0x0a, 0x61, 0x00, 0x01, 0x21, 0x00, 0x21, + 0x01, 0x00, 0x04, 0x81, 0x00, 0x02, 0x81, 0x01, 0x03, 0x01, 0x01, 0x01, 0x21, 0x01, 0x02, 0x21, + 0x00, 0x11, 0x01, 0x00, 0x01, 0x81, 0x00, 0x03, 0x91, 0x00, 0x01, 0x11, 0x00, 0x10, 0x01, 0x00, + 0x07, 0x81, 0x00, 0x13, 0x01, 0x00, 0x04, 0x21, 0x00, 0x04, 0x01, 0x00, 0x2e, 0x81, 0x00, 0x03, + 0xa1, 0x00, 0x0f, 0x21, 0x00, 0x06, 0x61, 0x00, 0x04, 0x41, 0x00, 0x20, 0x61, 0x00, 0x03, 0x21, + 0x00, 0x16, 0x01, 0x00, 0x04, 0x11, 0x00, 0x10, 0x01, 0x00, 0x04, 0x11, 0x00, 0x17, 0x91, 0x00, + 0x01, 0x11, 0x00, 0x0a, 0x01, 0x00, 0x01, 0x11, 0x00, 0x0d, 0x91, 0x00, 0x02, 0x81, 0x00, 0x10, + 0x01, 0x00, 0x06, 0x11, 0x00, 0x08, 0x01, 0x00, 0x03, 0x11, 0x00, 0x06, 0x01, 0x00, 0x04, 0x11, + 0x00, 0x07, 0x01, 0x00, 0x04, 0x11, 0x00, 0x05, 0x01, 0x00, 0x07, 0x11, 0x00, 0x00, 0xff, 0xff + +}; +const int demoplaysavedata_size = sizeof(demoplaysavedata); diff --git a/vulkanon/demoplay/code/demoplaysavedata.h b/vulkanon/demoplay/code/demoplaysavedata.h new file mode 100644 index 0000000..688de2c --- /dev/null +++ b/vulkanon/demoplay/code/demoplaysavedata.h @@ -0,0 +1,14 @@ +/* + This file was autogenerated by raw2c. +Visit http://www.devkitpro.org +*/ + +//--------------------------------------------------------------------------------- +#ifndef _demoplaysavedata_h_ +#define _demoplaysavedata_h_ +//--------------------------------------------------------------------------------- +extern const unsigned char demoplaysavedata[]; +extern const int demoplaysavedata_size; +//--------------------------------------------------------------------------------- +#endif //_demoplaysavedata_h_ +//--------------------------------------------------------------------------------- diff --git a/vulkanon/demoplay/demoplaysavedata.sav b/vulkanon/demoplay/demoplaysavedata.sav new file mode 100644 index 0000000..77cf59b Binary files /dev/null and b/vulkanon/demoplay/demoplaysavedata.sav differ diff --git a/vulkanon/demoplay/vulkanon.sav b/vulkanon/demoplay/vulkanon.sav new file mode 100644 index 0000000..77cf59b Binary files /dev/null and b/vulkanon/demoplay/vulkanon.sav differ diff --git a/vulkanon/generator/CopyAll.sh b/vulkanon/generator/CopyAll.sh new file mode 100755 index 0000000..3d41106 --- /dev/null +++ b/vulkanon/generator/CopyAll.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +mkdir -p data + +for f in $(find bulletml/vulkanon -name '*.xml'); do + ./copy-from-xml.php $f +done diff --git a/vulkanon/generator/MEMO.ja b/vulkanon/generator/MEMO.ja new file mode 100644 index 0000000..c120926 --- /dev/null +++ b/vulkanon/generator/MEMO.ja @@ -0,0 +1,199 @@ +■ コードジェネレータに関するメモ + +【やること】 + BulletML → C++ への変換 + + +【ポイント】 + ・ 弾の制御はフレーム毎に呼ばれる step 関数で行う必要がある。 + (BulletML で記述されたデータを 1 フレーム毎の動作に分割する必要がある)。 + + ・ ハードウェアの制約上、ヒープの使用は可能な限り避ける。 + □ fireRef の呼び出しについて をヒープに置くのではなく、 + 参照についてはコンバートの時点で総展開しておく。 + + → ヒープをまったく使用しない場合、以下の限界が生じるので注意。 + □ fireRef などの参照タグを用いる際に + それらの に $rand が含まれていた場合、 + 展開先の $rand で毎回評価が行われる。 (本来は で一度だけ評価すべき)。 + + +【内部動作について】 + ・ 内部で特別扱いするべきデータは以下。 + + + + (未実装) + + + + changeSpeed, changeDirection については、パラレルで動作するため + step 関数への分割が困難。 + repeat の内部で wait を挟む場合、 repeat の中身を 1 フレームで行うことが出来ないため、 + step 関数へのコンバートを工夫する必要がある。 + + ・ changeSpeed, changeDirection, accel について。 + + これらは各動作について value と life を設定し、 + 各フレームにおいて life > 0 である間は value に基づいて速度や角度をいじる。 + + ・ repeat, wait について + + 単純な repeat (= wait を含まず、 1 フレームで処理可能) は、 + step 関数内部でループをさせれば良い。 + + # repeat がネストしている場合を考慮し、ループ変数は工夫が必要。 + # 各 repeat に一意な ID を付加し、その ID をループ変数の名前として使う。 + + + wait を含む repeat の場合は、コードを「wait まで」「wait 以降」で分割し、 + それぞれを 1 フレームで処理する。 + 実際問題として、以下のようなコードを処理することを考えると、 + もう少しコードを細かくわけて、 wait が設定されるまでは step 関数を処理し続けるという + ロジックが必要である。 + + -------------------------------------------------- + 1 + 10 + 2 + + # この場合、 の後は 1, 2 が走る。 + # 単純にコード分割を行うと 2 のみを実行しかねないので注意。 + -------------------------------------------------- + + + wait を含む repeat の具体例。 + + -------------------------------------------------- + 【case1】 + + + + + + + + + + + + + + -------------------------------------------------- + 【case2】 + + + + + + + + + + + + + -------------------------------------------------- + + 具体的な処理として、 + (1) wait を含まない repeat → 一つのブロックとして認識する。 + (2) wait を含む repeat + → 簡単な方法は repeat を展開してしまう。 その後にブロックを評価する。 + (ただし repeat の回数に比例して処理も増加)。 + + ちなみに、 repeat を事前に展開しておくとどれくらいになるのか? + + repeat に関係なく wait を含むブロックの処理は注意する。 + 以下のような場合、 wait が終わらないと次に進んではいけない。 + wait については変に考えず、 wait 直後で step 関数分割を行うのが良い。 + -------------------------------------------------- + 100 + ... + -------------------------------------------------- + + + ・ について + + が現われた際には、弾を生成して、(必要があれば) その弾に step 関数をアサインする。 + 以下の XML は 内で完結している。 + + ・ について + + が出現するのは の直下のみ。 + bullet が存在する場合、 1 フレームで完結する処理ならば step 関数にしないほうが良い? + + ・ について + + が出現するのは の下、および の直下のみ。 + の下にしか現われないので、 + の下にしか現われないとして良い。 + + # 直下の については特別扱いする。 + # トップレベルの はラベルが top から始まるもの (ex "top", "top2", "top3"...) についてのみ、 + # エレメントで被せてあける。 + + と step 関数の生成に大きく干与するエレメントの + 順番は以下のようになるので、 step 関数分割は内側のノードである + と行う。 + こうすることで効率的に同一コードの畳み込みが可能となる。 + -------------------------------------------------- + + + + + + -------------------------------------------------- + + + ・ タグの挿入についてのイメージ (あんまり頑張って最適化しない) + + の中を見ていく。 + で最低一つは stepfunc を生成する。 (複数の action をまとめて一つの stepfunc にする最適化はしない)。 + + → bulletDef の中身は stepfuncCall のみになる。 + 実際の動作は stepfuncDef に記述される。 + + + ・ 生成する stepfunc の選別について + + を含み、 その repeat が を含む場合、 + は以下の形となる。 + + -------------------------------------------------- + + + 100 + + + + + + + -------------------------------------------------- + + この場合、外枠の は呼ばずに直接内部の を呼ぶほうが良い。 + そうすると外枠 のコードは生成しないほうが良い。 + + そのような処理を効率よく行うために事前に stepfuncCall の追いかけを行い、 + 関数呼び出しの順番のリストを作成してから、 実際に呼ばれる関数の選別を + リストを用いて行う。 + + 実装では gen-callingvectorfile.php でリストの作成を行い、 + 関数コードの生成を gen-code.php で行う。 + + + +【その他メモ】 + + ・ 現在の実装だと、XML 一つ一つに対して、 static な stepfunc を生成しているが、 + 本来は stepfunc を全ての bullet で共有すべき。 + + ただし stepfunc 関数ごとにファイルに分割 (stepfunc_xxx.cpp のようなファイルに分割) すると、 + ファイルが膨大な数になって Makefile の SOURCES のリストが長すぎてビルド出来なくなる。 + + → 以外と容量は減らずに 100KB くらい。 + stepfunc なんかを一つのファイルにまとめてソースコードが 2MB 越えとかしたときに、 + gcc の動きがバギーになる (生成バイナリがバグる) ので、意味がないどころか悪影響がある。 + + 一つだけ BulletML を修正したいときも、再コンパイルの対象が増えてしまったり、 + あんまりスマートではないので、 BulletML 毎にコードを生成するのが正解。 diff --git a/vulkanon/generator/Makefile b/vulkanon/generator/Makefile new file mode 100644 index 0000000..f73dd76 --- /dev/null +++ b/vulkanon/generator/Makefile @@ -0,0 +1,14 @@ +all: + make -C bulletml/vulkanon clean all + ./CopyAll.sh + ./convall.sh + +copy: + ./CopyAll.sh + +xml2conv: + ./convall.sh + +clean: + rm -rf tmp + rm -rf data diff --git a/vulkanon/generator/OneFileConv.sh b/vulkanon/generator/OneFileConv.sh new file mode 100755 index 0000000..c309a22 --- /dev/null +++ b/vulkanon/generator/OneFileConv.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +[ -f "$1" ] || exit + +fullpath=$(realpath $1) +targetpath="$(basename $(dirname $fullpath))/$(basename $fullpath)" + +./copy-from-xml.php $fullpath +./convall.sh $targetpath diff --git a/vulkanon/generator/barragelist-l0.php b/vulkanon/generator/barragelist-l0.php new file mode 100644 index 0000000..7f0cd37 --- /dev/null +++ b/vulkanon/generator/barragelist-l0.php @@ -0,0 +1,77 @@ + diff --git a/vulkanon/generator/barragelist-l1.php b/vulkanon/generator/barragelist-l1.php new file mode 100644 index 0000000..e98ce70 --- /dev/null +++ b/vulkanon/generator/barragelist-l1.php @@ -0,0 +1,119 @@ + diff --git a/vulkanon/generator/barragelist-l2.php b/vulkanon/generator/barragelist-l2.php new file mode 100644 index 0000000..2feed86 --- /dev/null +++ b/vulkanon/generator/barragelist-l2.php @@ -0,0 +1,143 @@ + diff --git a/vulkanon/generator/barragelist-l3.php b/vulkanon/generator/barragelist-l3.php new file mode 100644 index 0000000..089a5c5 --- /dev/null +++ b/vulkanon/generator/barragelist-l3.php @@ -0,0 +1,175 @@ + diff --git a/vulkanon/generator/bulletml/bulletgba/5way.bnml b/vulkanon/generator/bulletml/bulletgba/5way.bnml new file mode 100644 index 0000000..3c3d8f4 --- /dev/null +++ b/vulkanon/generator/bulletml/bulletgba/5way.bnml @@ -0,0 +1,90 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 3 action { + actionRef main(20); + actionRef main(10); + actionRef main(5); + } +} + +// $1: wait +action main { + repeat 5 action { + fire speed 0 bullet action { + wait 30; + fireRef 5way(30); + fireRef 5way(-30); + wait 10; + vanish; + } + wait $1; + actionRef fixed4way; + actionRef 4way; + wait $1; + actionRef fixed4way; + actionRef 4way; + + wait $1; + } +} + +fire 5way direction $1 speed 0.5 bullet action { + wait 30; + repeat 15 action { + fire direction aim 0 + $rand * 2 speed 2 bullet; + fire direction aim 20 + $rand * 2 speed 2 bullet; + fire direction aim 40 + $rand * 2 speed 2 bullet; + fire direction aim -20 + $rand * 2 speed 2 bullet; + fire direction aim -40 + $rand * 2 speed 2 bullet; + wait 4; + } + vanish; +} + +action 4way { + fire direction absolute -30 speed 1 bullet action { + wait 30; + actionRef straightAim(5, 3); + actionRef straightAim(10, 3); + vanish; + } + fire direction absolute 30 speed 1 bullet action { + wait 30; + actionRef straightAim(-5, 3); + actionRef straightAim(-10, 3); + vanish; + } +} + +action fixed4way { + fire direction absolute 30 speed 1 bullet action { + wait 30; + actionRef straight(180 - 45, 2); + actionRef straight(180 - 60, 2); + vanish; + } + fire direction absolute -30 speed 1 bullet action { + wait 30; + actionRef straight(180 + 45, 2); + actionRef straight(180 + 60, 2); + vanish; + } +} + +// $1: direction, $2: speed +action straight { + fire direction absolute $1 speed $2 bullet; + repeat 5 action { + fire direction absolute $1 speed sequence 0.2 bullet; + } +} + +// $1: direction, $2: speed +action straightAim { + fire direction aim $1 speed $2 bullet; + repeat 5 action { + fire direction aim $1 speed sequence 0.2 bullet; + } +} diff --git a/vulkanon/generator/bulletml/bulletgba/5way.xml b/vulkanon/generator/bulletml/bulletgba/5way.xml new file mode 100644 index 0000000..c834546 --- /dev/null +++ b/vulkanon/generator/bulletml/bulletgba/5way.xml @@ -0,0 +1,293 @@ + + + + + + 3 + + + 20 + + + 10 + + + 5 + + + + + + + 5 + + + 0 + + + 30 + + 30 + + + -30 + + 10 + + + + + $1 + + + $1 + + + $1 + + + + + $1 + 0.5 + + + 30 + + 15 + + + 0+$rand*2 + 2 + + + + 20+$rand*2 + 2 + + + + 40+$rand*2 + 2 + + + + -20+$rand*2 + 2 + + + + -40+$rand*2 + 2 + + + 4 + + + + + + + + + -30 + 1 + + + 30 + + 5 + 3 + + + 10 + 3 + + + + + + + 30 + 1 + + + 30 + + -5 + 3 + + + -10 + 3 + + + + + + + + + 30 + 1 + + + 30 + + 180-45 + 2 + + + 180-60 + 2 + + + + + + + -30 + 1 + + + 30 + + 180+45 + 2 + + + 180+60 + 2 + + + + + + + + + $1 + $2 + + + + 5 + + + $1 + 0.2 + + + + + + + + $1 + $2 + + + + 5 + + + $1 + 0.2 + + + + + + + diff --git a/vulkanon/generator/bulletml/bulletgba/homing_circle.bnml b/vulkanon/generator/bulletml/bulletgba/homing_circle.bnml new file mode 100644 index 0000000..3aa90d6 --- /dev/null +++ b/vulkanon/generator/bulletml/bulletgba/homing_circle.bnml @@ -0,0 +1,22 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 30 action { + repeat 20 action { + fire direction sequence 18 bullet action { + wait 10; + fireRef beforeWait(2, 3); + wait 10; + fireRef beforeWait(3, 2); + wait 10; + fireRef beforeWait(2, 3); + } + } + wait 30; + } +} + +fire beforeWait speed $1 bullet action { + wait $2; +} diff --git a/vulkanon/generator/bulletml/bulletgba/homing_circle.xml b/vulkanon/generator/bulletml/bulletgba/homing_circle.xml new file mode 100644 index 0000000..0a7814e --- /dev/null +++ b/vulkanon/generator/bulletml/bulletgba/homing_circle.xml @@ -0,0 +1,47 @@ + + + + + + 30 + + + 20 + + + 18 + + + 10 + + 2 + 3 + + 10 + + 3 + 2 + + 10 + + 2 + 3 + + + + + + + 30 + + + + + $1 + + + $2 + + + + diff --git a/vulkanon/generator/bulletml/bulletgba/targetself.bnml b/vulkanon/generator/bulletml/bulletgba/targetself.bnml new file mode 100644 index 0000000..1e3c2a7 --- /dev/null +++ b/vulkanon/generator/bulletml/bulletgba/targetself.bnml @@ -0,0 +1,96 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + actionRef enemy1(70); + actionRef enemy1(120); + actionRef enemy1(-70); + actionRef enemy1(-120); + wait 50; + repeat 4 action { + fireRef 4way; + wait 20; + } + repeat 4 action { + fireRef 4way; + wait 20; + } + repeat 4 action { + fireRef 4way; + wait 10; + } + actionRef circle; +} + +action enemy1 { + fire direction absolute $1 speed 1 bullet action { + wait 20; + changeSpeed speed 0 term 1; + actionRef halfRoundBullet(-5, 5); + actionRef halfRoundBullet(5, 5); + wait 40; + actionRef selfDirection; + vanish; + } +} + +action halfRoundBullet { + fire speed 0 bullet action { + fire direction absolute $1 speed $2 bullet; + repeat 32 action { + fire direction sequence $1 speed $2 bullet; + wait 1; + } + vanish; + } +} + +action selfDirection { + repeat 5 action { + repeat 30 action { + fire speed 4 bullet; + wait 1; + } + wait 10; + } +} + +fire 4way speed 0 bullet action { + fire direction absolute -30 speed 1 bullet action { + wait 30; + actionRef straightAim(10, 3); + actionRef straightAim(15, 3); + vanish; + } + fire direction absolute 30 speed 1 bullet action { + wait 30; + actionRef straightAim(-10, 3); + actionRef straightAim(-15, 3); + vanish; + } + vanish; +} + +// $1: direction, $2: speed +action straightAim { + fire direction aim $1 speed $2 bullet; + repeat 5 action { + fire direction aim $1 speed sequence 0.2 bullet; + } +} + +action circle { + repeat 5 action { + fireRef circleCore; + wait 3; + } +} + +fire circleCore speed 0 bullet action { + fire direction absolute 0 speed 3 bullet; + repeat 72 action { + fire direction sequence 5 speed 3 bullet; + wait 1; + } + vanish; +} diff --git a/vulkanon/generator/bulletml/bulletgba/targetself.xml b/vulkanon/generator/bulletml/bulletgba/targetself.xml new file mode 100644 index 0000000..42131f9 --- /dev/null +++ b/vulkanon/generator/bulletml/bulletgba/targetself.xml @@ -0,0 +1,303 @@ + + + + + + 70 + + + 120 + + + -70 + + + -120 + + 50 + + 4 + + + 20 + + + + 4 + + + 20 + + + + 4 + + + 10 + + + + + + + $1 + 1 + + + 20 + + 0 + 1 + + + -5 + 5 + + + 5 + 5 + + 40 + + + + + + + + + 0 + + + + $1 + $2 + + + + 32 + + + $1 + $2 + + + 1 + + + + + + + + + + 5 + + + 30 + + + 4 + + + 1 + + + 10 + + + + + 0 + + + + -30 + 1 + + + 30 + + 10 + 3 + + + 15 + 3 + + + + + + + 30 + 1 + + + 30 + + -10 + 3 + + + -15 + 3 + + + + + + + + + + + + $1 + $2 + + + + 5 + + + $1 + 0.2 + + + + + + + + 5 + + + 3 + + + + + 0 + + + + 0 + 3 + + + + 72 + + + 5 + 3 + + + 1 + + + + + + + + diff --git a/vulkanon/generator/bulletml/droped/5way-hell.bml b/vulkanon/generator/bulletml/droped/5way-hell.bml new file mode 100755 index 0000000..a7bb309 --- /dev/null +++ b/vulkanon/generator/bulletml/droped/5way-hell.bml @@ -0,0 +1,300 @@ + + + + + + 5way-hell + user + 5way弾 + 中央付近でコンコン避けで。 + + + + + + + + + + 5 + + + 50 + + + + 5 + + + 40 + + + + 5 + + + 30 + + + + 5 + + + 20 + + + + 5 + + + 10 + + + + + + 0 + + + + -2 + 8 + + + 2 + 8 + + + -2 + 4 + + + 2 + 4 + + + -2 + 2 + + + 2 + 2 + + 70 + + 30 + + + -30 + + + 150 + + + -150 + + 10 + + 10 + + + 1 + + + 40 + + 10 + + + 1 + + + + + + + + + $1 + 0.5 + + + 10 + + 10 + + + 0+$rand*2 + 2 + + + + 20+$rand*2 + 2 + + + + 40+$rand*2 + 2 + + + + -20+$rand*2 + 2 + + + + -40+$rand*2 + 2 + + + 2 + + + + + + + + + 0 + + + + $1 + $2 + + + + 80 + + + $1 + $2 + + + 1 + + + + + + + + + 0 + + + + 5 + 5 + + + + -5 + 5 + + + + 10 + 5 + + + + -10 + 5 + + + + + + + + + + diff --git a/vulkanon/generator/bulletml/droped/5way-hell.bnml b/vulkanon/generator/bulletml/droped/5way-hell.bnml new file mode 100644 index 0000000..20a7d83 --- /dev/null +++ b/vulkanon/generator/bulletml/droped/5way-hell.bnml @@ -0,0 +1,84 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 5 action { + actionRef main; + wait 50; + } + repeat 5 action { + actionRef main; + wait 40; + } + repeat 5 action { + actionRef main; + wait 30; + } + repeat 5 action { + actionRef main; + wait 20; + } + repeat 5 action { + actionRef main; + wait 10; + } +} + +action main { + fire speed 0 bullet action { + actionRef halfRoundBullet(-2, 8); + actionRef halfRoundBullet(2, 8); + actionRef halfRoundBullet(-2, 4); + actionRef halfRoundBullet(2, 4); + actionRef halfRoundBullet(-2, 2); + actionRef halfRoundBullet(2, 2); + wait 70; + fireRef 5way(30); + fireRef 5way(-30); + fireRef 5way(150); + fireRef 5way(-150); + wait 10; + repeat 10 action { + fireRef 4way; + wait 1; + } + wait 40; + repeat 10 action { + fireRef 4way; + wait 1; + } + vanish; + } +} + +fire 5way direction $1 speed 0.5 bullet action { + wait 10; + repeat 10 action { + fire direction aim 0 + $rand * 2 speed 2 bullet; + fire direction aim 20 + $rand * 2 speed 2 bullet; + fire direction aim 40 + $rand * 2 speed 2 bullet; + fire direction aim -20 + $rand * 2 speed 2 bullet; + fire direction aim -40 + $rand * 2 speed 2 bullet; + wait 2; + } + vanish; +} + +action halfRoundBullet { + fire speed 0 bullet action { + fire direction absolute $1 speed $2 bullet; + repeat 80 action { + fire direction sequence $1 speed $2 bullet; + wait 1; + } + vanish; + } +} + +fire 4way speed 0 bullet action { + fire direction aim 5 speed 5 bullet; + fire direction aim -5 speed 5 bullet; + fire direction aim 10 speed 5 bullet; + fire direction aim -10 speed 5 bullet; + vanish; +} diff --git a/vulkanon/generator/bulletml/droped/5way-hell.xml b/vulkanon/generator/bulletml/droped/5way-hell.xml new file mode 100755 index 0000000..c203f7e --- /dev/null +++ b/vulkanon/generator/bulletml/droped/5way-hell.xml @@ -0,0 +1,285 @@ + + + + + + 5 + + + 50 + + + + 5 + + + 40 + + + + 5 + + + 30 + + + + 5 + + + 20 + + + + 5 + + + 10 + + + + + + 0 + + + + -2 + 8 + + + 2 + 8 + + + -2 + 4 + + + 2 + 4 + + + -2 + 2 + + + 2 + 2 + + 70 + + 30 + + + -30 + + + 150 + + + -150 + + 10 + + 10 + + + 1 + + + 40 + + 10 + + + 1 + + + + + + + + + $1 + 0.5 + + + 10 + + 10 + + + 0+$rand*2 + 2 + + + + 20+$rand*2 + 2 + + + + 40+$rand*2 + 2 + + + + -20+$rand*2 + 2 + + + + -40+$rand*2 + 2 + + + 2 + + + + + + + + + 0 + + + + $1 + $2 + + + + 80 + + + $1 + $2 + + + 1 + + + + + + + + + 0 + + + + 5 + 5 + + + + -5 + 5 + + + + 10 + 5 + + + + -10 + 5 + + + + + + + + diff --git a/vulkanon/generator/bulletml/test/action-twice.bnml b/vulkanon/generator/bulletml/test/action-twice.bnml new file mode 100644 index 0000000..1682765 --- /dev/null +++ b/vulkanon/generator/bulletml/test/action-twice.bnml @@ -0,0 +1,12 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + action { + action { + fire bullet; + } + wait 20; + } + wait 10; +} diff --git a/vulkanon/generator/bulletml/test/action-twice.xml b/vulkanon/generator/bulletml/test/action-twice.xml new file mode 100644 index 0000000..06e2cc4 --- /dev/null +++ b/vulkanon/generator/bulletml/test/action-twice.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + 20 + + 10 + + + diff --git a/vulkanon/generator/bulletml/test/floodleft.bnml b/vulkanon/generator/bulletml/test/floodleft.bnml new file mode 100644 index 0000000..c63e5d6 --- /dev/null +++ b/vulkanon/generator/bulletml/test/floodleft.bnml @@ -0,0 +1,21 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + fire direction absolute -90 speed 26 bullet action { + actionRef Grid(); + } +} + +// $1: direction, $2: wait +action Grid { + wait 1; + changeSpeed speed 0 term 1; + wait 1; + repeat 1000 action { + fire direction absolute 0 speed 1 bullet; + fire direction absolute 180 speed 1 bullet; + wait 1; + } + vanish; +} diff --git a/vulkanon/generator/bulletml/test/floodleft.xml b/vulkanon/generator/bulletml/test/floodleft.xml new file mode 100644 index 0000000..f828e0e --- /dev/null +++ b/vulkanon/generator/bulletml/test/floodleft.xml @@ -0,0 +1,63 @@ + + + + + + -90 + 26 + + + + + + + + + 1 + + 0 + 1 + + 1 + + 1000 + + + 0 + 1 + + + + 180 + 1 + + + 1 + + + + + + diff --git a/vulkanon/generator/bulletml/test/grid.bnml b/vulkanon/generator/bulletml/test/grid.bnml new file mode 100644 index 0000000..989f08e --- /dev/null +++ b/vulkanon/generator/bulletml/test/grid.bnml @@ -0,0 +1,27 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 20 action { + fire direction absolute 90 speed sequence 2 bullet action { + actionRef Grid(); + } + fire direction absolute -90 speed sequence 2 bullet action { + actionRef Grid(); + } + } + vanish; +} + +// $1: direction, $2: wait +action Grid { + wait 1; + changeSpeed speed 0 term 1; + wait 1; + repeat 1000 action { + fire direction absolute 0 speed 1 bullet; + fire direction absolute 180 speed 1 bullet; + wait 3; + } + vanish; +} diff --git a/vulkanon/generator/bulletml/test/grid.xml b/vulkanon/generator/bulletml/test/grid.xml new file mode 100644 index 0000000..3174bd0 --- /dev/null +++ b/vulkanon/generator/bulletml/test/grid.xml @@ -0,0 +1,84 @@ + + + + + + 20 + + + 90 + 2 + + + + + + + + -90 + 2 + + + + + + + + + + + + 1 + + 0 + 1 + + 1 + + 1000 + + + 0 + 1 + + + + 180 + 1 + + + 3 + + + + + + diff --git a/vulkanon/generator/bulletml/test/hi-load-average.bnml b/vulkanon/generator/bulletml/test/hi-load-average.bnml new file mode 100644 index 0000000..47aef8d --- /dev/null +++ b/vulkanon/generator/bulletml/test/hi-load-average.bnml @@ -0,0 +1,14 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 200 action { + repeat 10 action { + fireRef roundFire(); + } + wait 1; + } +} + +fire roundFire direction sequence 5 bullet; + diff --git a/vulkanon/generator/bulletml/test/hi-load-average.xml b/vulkanon/generator/bulletml/test/hi-load-average.xml new file mode 100644 index 0000000..3736021 --- /dev/null +++ b/vulkanon/generator/bulletml/test/hi-load-average.xml @@ -0,0 +1,38 @@ + + + + + + 200 + + + 10 + + + + + 1 + + + + + 5 + + + + diff --git a/vulkanon/generator/bulletml/test/nowait.bnml b/vulkanon/generator/bulletml/test/nowait.bnml new file mode 100644 index 0000000..f311a76 --- /dev/null +++ b/vulkanon/generator/bulletml/test/nowait.bnml @@ -0,0 +1,10 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 5 action { + repeat 5 action { + fire bullet; + } + } +} diff --git a/vulkanon/generator/bulletml/test/nowait.xml b/vulkanon/generator/bulletml/test/nowait.xml new file mode 100644 index 0000000..6f2dfa7 --- /dev/null +++ b/vulkanon/generator/bulletml/test/nowait.xml @@ -0,0 +1,31 @@ + + + + + + 5 + + + 5 + + + + + + + + + + + diff --git a/vulkanon/generator/bulletml/test/rand.bnml b/vulkanon/generator/bulletml/test/rand.bnml new file mode 100644 index 0000000..1e77322 --- /dev/null +++ b/vulkanon/generator/bulletml/test/rand.bnml @@ -0,0 +1,9 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 1000 action { + fire direction absolute 360 * $rand bullet; + wait 1; + } +} diff --git a/vulkanon/generator/bulletml/test/rand.xml b/vulkanon/generator/bulletml/test/rand.xml new file mode 100644 index 0000000..3944f01 --- /dev/null +++ b/vulkanon/generator/bulletml/test/rand.xml @@ -0,0 +1,27 @@ + + + + + + 1000 + + + 360*$rand + + + 1 + + + + + diff --git a/vulkanon/generator/bulletml/test/reference.bnml b/vulkanon/generator/bulletml/test/reference.bnml new file mode 100644 index 0000000..f16a53f --- /dev/null +++ b/vulkanon/generator/bulletml/test/reference.bnml @@ -0,0 +1,13 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 100 actionRef sample(50, 20); +} + +fire firesample direction absolute $2 speed $1 bullet; + +action sample { + fireRef firesample($2, $1); + wait 10; +} diff --git a/vulkanon/generator/bulletml/test/reference.xml b/vulkanon/generator/bulletml/test/reference.xml new file mode 100644 index 0000000..1f6c28d --- /dev/null +++ b/vulkanon/generator/bulletml/test/reference.xml @@ -0,0 +1,40 @@ + + + + + + 100 + + 50 + 20 + + + + + $2 + $1 + + + + + $2 + $1 + + 10 + + + diff --git a/vulkanon/generator/bulletml/test/round.bnml b/vulkanon/generator/bulletml/test/round.bnml new file mode 100644 index 0000000..ed2d844 --- /dev/null +++ b/vulkanon/generator/bulletml/test/round.bnml @@ -0,0 +1,17 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 100 action { + repeat 36 action { + fire direction sequence 10 bullet action { + changeDirection sequence 1 term 100; + wait 100; + changeDirection sequence 4 term 100; + wait 100; + changeDirection sequence -1 term 100; + } + } + wait 10; + } +} diff --git a/vulkanon/generator/bulletml/test/round.xml b/vulkanon/generator/bulletml/test/round.xml new file mode 100644 index 0000000..90bb8cc --- /dev/null +++ b/vulkanon/generator/bulletml/test/round.xml @@ -0,0 +1,57 @@ + + + + + + 100 + + + 36 + + + 10 + + + + 1 + 100 + + 100 + + 4 + 100 + + 100 + + -1 + 100 + + + + + + + 10 + + + + + diff --git a/vulkanon/generator/bulletml/test/stop.bnml b/vulkanon/generator/bulletml/test/stop.bnml new file mode 100644 index 0000000..feb6e1c --- /dev/null +++ b/vulkanon/generator/bulletml/test/stop.bnml @@ -0,0 +1,6 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + fire speed 0 bullet; +} diff --git a/vulkanon/generator/bulletml/test/stop.xml b/vulkanon/generator/bulletml/test/stop.xml new file mode 100644 index 0000000..d3ad2a9 --- /dev/null +++ b/vulkanon/generator/bulletml/test/stop.xml @@ -0,0 +1,18 @@ + + + + + + 0 + + + + + diff --git a/vulkanon/generator/bulletml/test/useUndefinedValue.bnml b/vulkanon/generator/bulletml/test/useUndefinedValue.bnml new file mode 100644 index 0000000..2057f9e --- /dev/null +++ b/vulkanon/generator/bulletml/test/useUndefinedValue.bnml @@ -0,0 +1,6 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + fire direction relative 0 bullet; +} diff --git a/vulkanon/generator/bulletml/test/useUndefinedValue.xml b/vulkanon/generator/bulletml/test/useUndefinedValue.xml new file mode 100644 index 0000000..f06c85c --- /dev/null +++ b/vulkanon/generator/bulletml/test/useUndefinedValue.xml @@ -0,0 +1,18 @@ + + + + + + 0 + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss0.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss0.bnml new file mode 100644 index 0000000..6fc5a2e --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss0.bnml @@ -0,0 +1,34 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 180 term 1; + changeSpeed speed absolute 1 term 1; + wait 40; + + changeSpeed speed absolute 0.1 term 1; + wait 1; + + repeat 20 action { + repeat 2 action { + fire direction aim 0 speed absolute 2 bullet; + repeat 35 action { + fire direction sequence 10 speed absolute 2 bullet; + } + wait 2; + } + + repeat 5 action { + actionRef fireShot(-20); + actionRef fireShot(20); + } + + wait 30; + } +} + +action fireShot { + fire direction aim $1 speed sequence 0.5 bullet; + fire direction aim $1 + 2 speed sequence 0 bullet; + fire direction aim $1 - 2 speed sequence 0 bullet; +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss0.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss0.xml new file mode 100644 index 0000000..02188c5 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss0.xml @@ -0,0 +1,75 @@ + + + + + + 180 + 1 + + + 1 + 1 + + 40 + + 0.1 + 1 + + 1 + + 20 + + + 2 + + + 0 + 2 + + + + 35 + + + 10 + 2 + + + + + 2 + + + + 5 + + + -20 + + + 20 + + + + 30 + + + + + + $1 + 0.5 + + + + $1+2 + 0 + + + + $1-2 + 0 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss1.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss1.bnml new file mode 100644 index 0000000..4d251ed --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss1.bnml @@ -0,0 +1,20 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection direction aim 0 term 1; + changeSpeed absolute 0 term 1; + wait 1; + + repeat 10 action { + repeat 20 action { + fire direction relative 0 speed absolute 1 bullet; + fire direction relative 90 speed absolute 1 bullet; + fire direction relative 180 speed absolute 1 bullet; + fire direction relative 270 speed absolute 1 bullet; + changeDirection direction sequence 4 term 1; + wait 1; + } + wait 10; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss1.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss1.xml new file mode 100644 index 0000000..d9fd5d9 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss1.xml @@ -0,0 +1,51 @@ + + + + + + 0 + 1 + + + 0 + 1 + + 1 + + 10 + + + 20 + + + 0 + 1 + + + + 90 + 1 + + + + 180 + 1 + + + + 270 + 1 + + + + 4 + 1 + + 1 + + + 10 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss10.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss10.bnml new file mode 100644 index 0000000..2cde321 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss10.bnml @@ -0,0 +1,30 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection sequence 1 term 9999; + changeSpeed absolute 1 term 1; + wait 60; + + repeat 30 action { + repeat 20 action { + actionRef fireSide(90, 180); + fire direction relative 180 speed absolute 2 bullet; + actionRef fireSide(-90, 180); + + wait 3; + } + wait 20; + } + + vanish; +} + +// $1: angle, $2: angle +action fireSide { + fire direction relative $2 speed absolute 2 bullet action { + changeDirection sequence - $1 term 1; + wait 2; + changeDirection sequence $1 term 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss10.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss10.xml new file mode 100644 index 0000000..864c39e --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss10.xml @@ -0,0 +1,60 @@ + + + + + + 1 + 9999 + + + 1 + 1 + + 60 + + 30 + + + 20 + + + 90 + 180 + + + 180 + 2 + + + + -90 + 180 + + 3 + + + 20 + + + + + + + $2 + 2 + + + + -$1 + 1 + + 2 + + $1 + 1 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss2.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss2.bnml new file mode 100644 index 0000000..cf81c08 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss2.bnml @@ -0,0 +1,25 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection direction absolute 180 term 1; + changeSpeed absolute 1 term 1; + wait 30; + changeSpeed absolute 0 term 1; + + repeat 20 action { + fire direction aim 0 speed absolute 1 bullet; + repeat 5 action { + fire direction aim 0 speed sequence 0.2 bullet; + fire direction aim 2 speed sequence 0 bullet; + fire direction aim -2 speed sequence 0 bullet; + fire direction aim 4 speed sequence 0 bullet; + fire direction aim -4 speed sequence 0 bullet; + fire direction aim 6 speed sequence 0 bullet; + fire direction aim -6 speed sequence 0 bullet; + fire direction aim 8 speed sequence 0 bullet; + fire direction aim -8 speed sequence 0 bullet; + } + wait 60; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss2.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss2.xml new file mode 100644 index 0000000..efefc1f --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss2.xml @@ -0,0 +1,80 @@ + + + + + + 180 + 1 + + + 1 + 1 + + 30 + + 0 + 1 + + + 20 + + + 0 + 1 + + + + 5 + + + 0 + 0.2 + + + + 2 + 0 + + + + -2 + 0 + + + + 4 + 0 + + + + -4 + 0 + + + + 6 + 0 + + + + -6 + 0 + + + + 8 + 0 + + + + -8 + 0 + + + + + 60 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss3-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss3-left.bnml new file mode 100644 index 0000000..2d83b11 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss3-left.bnml @@ -0,0 +1,24 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 160 term 1; + wait 2; + + repeat 10 action { + actionRef main(1); + actionRef main(-1); + } +} + +// $1: angle +action main { + repeat 80 action { + fire direction relative 0 speed absolute 3 bullet; + repeat 5 action { + fire direction sequence 6 speed absolute 3 bullet; + } + changeDirection sequence $1 term 1; + wait 3; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss3-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss3-left.xml new file mode 100644 index 0000000..d7c9dbf --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss3-left.xml @@ -0,0 +1,49 @@ + + + + + + 160 + 1 + + 2 + + 10 + + + 1 + + + -1 + + + + + + + 80 + + + 0 + 3 + + + + 5 + + + 6 + 3 + + + + + + $1 + 1 + + 3 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss3-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss3-right.bnml new file mode 100644 index 0000000..fa1c535 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss3-right.bnml @@ -0,0 +1,24 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 200 term 1; + wait 2; + + repeat 10 action { + actionRef main(-1); + actionRef main(1); + } +} + +// $1: angle +action main { + repeat 80 action { + fire direction relative 0 speed absolute 3 bullet; + repeat 5 action { + fire direction sequence -6 speed absolute 3 bullet; + } + changeDirection sequence $1 term 1; + wait 3; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss3-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss3-right.xml new file mode 100644 index 0000000..74575a0 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss3-right.xml @@ -0,0 +1,49 @@ + + + + + + 200 + 1 + + 2 + + 10 + + + -1 + + + 1 + + + + + + + 80 + + + 0 + 3 + + + + 5 + + + -6 + 3 + + + + + + $1 + 1 + + 3 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss4.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss4.bnml new file mode 100644 index 0000000..7ec7f65 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss4.bnml @@ -0,0 +1,36 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 60 action { + actionRef fireLine(120); + actionRef fireLine(140); + actionRef fireLine(160); + actionRef fireLine(180); + actionRef fireLine(200); + actionRef fireLine(220); + actionRef fireLine(240); + wait 30; + } +} + +// $1: angle +action fireLine { + fire direction absolute $1 speed absolute 2 bullet; + actionRef fireLineHoming($1, 1); + actionRef fireLineHoming($1, 2); + actionRef fireLineHoming($1, 3); + actionRef fireLineHoming($1, 4); + actionRef fireLineHoming($1, 5); +} + +// $1: angle, $2: wait +action fireLineHoming { + fire direction absolute $1 speed absolute 0.1 bullet action { + wait $2 * 2; + changeSpeed absolute 2 term 1; + wait 30; + changeDirection aim 0 term 1; + changeSpeed absolute 4 term 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss4.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss4.xml new file mode 100644 index 0000000..73cfe42 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss4.xml @@ -0,0 +1,84 @@ + + + + + + 60 + + + 120 + + + 140 + + + 160 + + + 180 + + + 200 + + + 220 + + + 240 + + 30 + + + + + + $1 + 2 + + + + $1 + 1 + + + $1 + 2 + + + $1 + 3 + + + $1 + 4 + + + $1 + 5 + + + + + $1 + 0.1 + + + $2*2 + + 2 + 1 + + 30 + + 0 + 1 + + + 4 + 1 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss5-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss5-left.bnml new file mode 100644 index 0000000..28810ab --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss5-left.bnml @@ -0,0 +1,14 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 360 action { + repeat 5 action { + fire direction sequence -3 speed absolute 2 bullet action { + wait 20 * $rand; + changeDirection aim 0 term 1; + } + } + wait 3; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss5-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss5-left.xml new file mode 100644 index 0000000..0f82a59 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss5-left.xml @@ -0,0 +1,30 @@ + + + + + + 360 + + + 5 + + + -3 + 2 + + + 20*$rand + + 0 + 1 + + + + + + + 3 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss5-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss5-right.bnml new file mode 100644 index 0000000..02f19c1 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss5-right.bnml @@ -0,0 +1,14 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 360 action { + repeat 5 action { + fire direction sequence 3 speed absolute 2 bullet action { + wait 20 * $rand; + changeDirection aim 0 term 1; + } + } + wait 3; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss5-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss5-right.xml new file mode 100644 index 0000000..ab69eef --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss5-right.xml @@ -0,0 +1,30 @@ + + + + + + 360 + + + 5 + + + 3 + 2 + + + 20*$rand + + 0 + 1 + + + + + + + 3 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss6.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss6.bnml new file mode 100644 index 0000000..d2fd1cc --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss6.bnml @@ -0,0 +1,17 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeSpeed absolute 2 term 1; + changeDirection sequence 3 term 9999; + + wait 30; + + repeat 300 action { + fire direction aim 2 speed absolute 2 bullet; + fire direction aim 0 speed absolute 2 bullet; + fire direction aim -2 speed absolute 2 bullet; + wait 3; + } + vanish; +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss6.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss6.xml new file mode 100644 index 0000000..ec2914f --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss6.xml @@ -0,0 +1,37 @@ + + + + + + 2 + 1 + + + 3 + 9999 + + 30 + + 300 + + + 2 + 2 + + + + 0 + 2 + + + + -2 + 2 + + + 3 + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss7.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss7.bnml new file mode 100644 index 0000000..bcdcd9e --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss7.bnml @@ -0,0 +1,29 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 180 term 1; + changeSpeed absolute 0.1 term 1; + wait 1; + + repeat 20 action { + fire direction aim 0 speed absolute 2 bullet; + wait 3; + repeat 20 action { + actionRef fireSide(90); + fire direction sequence 0 speed absolute 2 bullet; + actionRef fireSide(-90); + wait 3; + } + wait 20; + } +} + +// $1: angle +action fireSide { + fire direction sequence 0 speed absolute 2 bullet action { + changeDirection sequence - $1 term 1; + wait 2; + changeDirection sequence $1 term 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss7.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss7.xml new file mode 100644 index 0000000..97f84d3 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss7.xml @@ -0,0 +1,63 @@ + + + + + + 180 + 1 + + + 0.1 + 1 + + 1 + + 20 + + + 0 + 2 + + + 3 + + 20 + + + 90 + + + 0 + 2 + + + + -90 + + 3 + + + 20 + + + + + + 0 + 2 + + + + -$1 + 1 + + 2 + + $1 + 1 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss8-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss8-left.bnml new file mode 100644 index 0000000..811a934 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss8-left.bnml @@ -0,0 +1,18 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 180 term 1; + changeSpeed absolute 2 term 1; + + wait 30; + changeSpeed absolute 0 term 1; + + repeat 20 action { + fire direction absolute 0 speed absolute 2 bullet; + repeat 60 action { + fire direction sequence -4 speed absolute 2 bullet; + wait 1; + } + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss8-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss8-left.xml new file mode 100644 index 0000000..418c80a --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss8-left.xml @@ -0,0 +1,40 @@ + + + + + + 180 + 1 + + + 2 + 1 + + 30 + + 0 + 1 + + + 20 + + + 0 + 2 + + + + 60 + + + -4 + 2 + + + 1 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss8-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss8-right.bnml new file mode 100644 index 0000000..7ea31ed --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss8-right.bnml @@ -0,0 +1,18 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 180 term 1; + changeSpeed absolute 2 term 1; + + wait 30; + changeSpeed absolute 0 term 1; + + repeat 20 action { + fire direction absolute 0 speed absolute 2 bullet; + repeat 60 action { + fire direction sequence 4 speed absolute 2 bullet; + wait 1; + } + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss8-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss8-right.xml new file mode 100644 index 0000000..0281973 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss8-right.xml @@ -0,0 +1,40 @@ + + + + + + 180 + 1 + + + 2 + 1 + + 30 + + 0 + 1 + + + 20 + + + 0 + 2 + + + + 60 + + + 4 + 2 + + + 1 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss9.bnml b/vulkanon/generator/bulletml/vulkanon/L0_boss9.bnml new file mode 100644 index 0000000..f1af825 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss9.bnml @@ -0,0 +1,34 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection sequence 1 term 9999; + changeSpeed absolute 0 term 1; + wait 1; + + repeat 30 action { + repeat 20 action { + actionRef fireSide(90, 0); + fire direction relative 0 speed absolute 2 bullet; + actionRef fireSide(-90, 0); + + actionRef fireSide(90, 180); + fire direction relative 180 speed absolute 2 bullet; + actionRef fireSide(-90, 180); + + wait 3; + } + wait 20; + } + + vanish; +} + +// $1: angle, $2: angle +action fireSide { + fire direction relative $2 speed absolute 2 bullet action { + changeDirection sequence - $1 term 1; + wait 2; + changeDirection sequence $1 term 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_boss9.xml b/vulkanon/generator/bulletml/vulkanon/L0_boss9.xml new file mode 100644 index 0000000..f4e5fae --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_boss9.xml @@ -0,0 +1,73 @@ + + + + + + 1 + 9999 + + + 0 + 1 + + 1 + + 30 + + + 20 + + + 90 + 0 + + + 0 + 2 + + + + -90 + 0 + + + 90 + 180 + + + 180 + 2 + + + + -90 + 180 + + 3 + + + 20 + + + + + + + $2 + 2 + + + + -$1 + 1 + + 2 + + $1 + 1 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy0.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy0.bnml new file mode 100644 index 0000000..89e9b58 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy0.bnml @@ -0,0 +1,18 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection direction absolute 180 term 1; + changeSpeed absolute 1 term 1; + wait 20; + + repeat 5 action { + changeDirection direction aim 0 term 1; + wait 10; + } + + fire direction aim 0 speed absolute 2 bullet; + repeat 19 action { + fire direction sequence 18 speed absolute 2 bullet; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy0.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy0.xml new file mode 100644 index 0000000..8938004 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy0.xml @@ -0,0 +1,40 @@ + + + + + + 180 + 1 + + + 1 + 1 + + 20 + + 5 + + + 0 + 1 + + 10 + + + + 0 + 2 + + + + 19 + + + 18 + 2 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy1-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy1-left.bnml new file mode 100644 index 0000000..32eaa10 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy1-left.bnml @@ -0,0 +1,24 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection direction absolute 90 term 1; + changeSpeed absolute 0.5 term 1; + wait 30; + + repeat 20 action { + fire direction aim 0 speed absolute 1 bullet; + repeat 5 action { + fire direction aim 0 speed sequence 0.2 bullet; + fire direction aim 2 speed sequence 0 bullet; + fire direction aim -2 speed sequence 0 bullet; + fire direction aim 4 speed sequence 0 bullet; + fire direction aim -4 speed sequence 0 bullet; + fire direction aim 6 speed sequence 0 bullet; + fire direction aim -6 speed sequence 0 bullet; + fire direction aim 8 speed sequence 0 bullet; + fire direction aim -8 speed sequence 0 bullet; + } + wait 60; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy1-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy1-left.xml new file mode 100644 index 0000000..3342f8f --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy1-left.xml @@ -0,0 +1,76 @@ + + + + + + 90 + 1 + + + 0.5 + 1 + + 30 + + 20 + + + 0 + 1 + + + + 5 + + + 0 + 0.2 + + + + 2 + 0 + + + + -2 + 0 + + + + 4 + 0 + + + + -4 + 0 + + + + 6 + 0 + + + + -6 + 0 + + + + 8 + 0 + + + + -8 + 0 + + + + + 60 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy1-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy1-right.bnml new file mode 100644 index 0000000..6c2d1c8 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy1-right.bnml @@ -0,0 +1,24 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection direction absolute 270 term 1; + changeSpeed absolute 0.5 term 1; + wait 30; + + repeat 20 action { + fire direction aim 0 speed absolute 1 bullet; + repeat 5 action { + fire direction aim 0 speed sequence 0.2 bullet; + fire direction aim 2 speed sequence 0 bullet; + fire direction aim -2 speed sequence 0 bullet; + fire direction aim 4 speed sequence 0 bullet; + fire direction aim -4 speed sequence 0 bullet; + fire direction aim 6 speed sequence 0 bullet; + fire direction aim -6 speed sequence 0 bullet; + fire direction aim 8 speed sequence 0 bullet; + fire direction aim -8 speed sequence 0 bullet; + } + wait 60; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy1-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy1-right.xml new file mode 100644 index 0000000..cedb550 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy1-right.xml @@ -0,0 +1,76 @@ + + + + + + 270 + 1 + + + 0.5 + 1 + + 30 + + 20 + + + 0 + 1 + + + + 5 + + + 0 + 0.2 + + + + 2 + 0 + + + + -2 + 0 + + + + 4 + 0 + + + + -4 + 0 + + + + 6 + 0 + + + + -6 + 0 + + + + 8 + 0 + + + + -8 + 0 + + + + + 60 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy10.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy10.bnml new file mode 100644 index 0000000..e34e98d --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy10.bnml @@ -0,0 +1,33 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 180 term 1; + changeSpeed absolute 1 term 1; + wait 20; + + repeat 10 action { + actionRef fireLine(130); + actionRef fireLine(150); + actionRef fireLine(170); + actionRef fireLine(190); + actionRef fireLine(210); + actionRef fireLine(230); + wait 30; + } +} + +// $1: angle +action fireLine { + fire direction absolute $1 speed absolute 2 bullet; + actionRef fireLineHoming($1); + actionRef fireLineHoming($1); + actionRef fireLineHoming($1); + actionRef fireLineHoming($1); + actionRef fireLineHoming($1); +} + +// $1: angle +action fireLineHoming { + fire direction absolute $1 speed sequence 0.25 bullet; +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy10.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy10.xml new file mode 100644 index 0000000..11d4e14 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy10.xml @@ -0,0 +1,68 @@ + + + + + + 180 + 1 + + + 1 + 1 + + 20 + + 10 + + + 130 + + + 150 + + + 170 + + + 190 + + + 210 + + + 230 + + 30 + + + + + + $1 + 2 + + + + $1 + + + $1 + + + $1 + + + $1 + + + $1 + + + + + $1 + 0.25 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy11-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy11-left.bnml new file mode 100644 index 0000000..b0121bf --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy11-left.bnml @@ -0,0 +1,25 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute -90 term 1; + changeSpeed absolute 2 term 1; + wait 2; + + changeSpeed absolute 1 term 120; + + repeat 20 action { + actionRef fireTargetSelf(90); + actionRef fireTargetSelf(-90); + wait 2; + } + vanish; +} + +// $1: direction +action fireTargetSelf { + fire direction relative $1 speed absolute 2 bullet action { + wait $rand * 5; + changeDirection aim 0 term 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy11-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy11-left.xml new file mode 100644 index 0000000..785e833 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy11-left.xml @@ -0,0 +1,47 @@ + + + + + + -90 + 1 + + + 2 + 1 + + 2 + + 1 + 120 + + + 20 + + + 90 + + + -90 + + 2 + + + + + + + $1 + 2 + + + $rand*5 + + 0 + 1 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy11-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy11-right.bnml new file mode 100644 index 0000000..056d430 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy11-right.bnml @@ -0,0 +1,25 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 90 term 1; + changeSpeed absolute 2 term 1; + wait 2; + + changeSpeed absolute 1 term 120; + + repeat 20 action { + actionRef fireTargetSelf(90); + actionRef fireTargetSelf(-90); + wait 2; + } + vanish; +} + +// $1: direction +action fireTargetSelf { + fire direction relative $1 speed absolute 2 bullet action { + wait $rand * 5; + changeDirection aim 0 term 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy11-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy11-right.xml new file mode 100644 index 0000000..34cfa4a --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy11-right.xml @@ -0,0 +1,47 @@ + + + + + + 90 + 1 + + + 2 + 1 + + 2 + + 1 + 120 + + + 20 + + + 90 + + + -90 + + 2 + + + + + + + $1 + 2 + + + $rand*5 + + 0 + 1 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy12.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy12.bnml new file mode 100644 index 0000000..bd46349 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy12.bnml @@ -0,0 +1,9 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + fire direction aim 0 speed absolute 2 bullet; + repeat 10 action { + fire direction aim 0 speed sequence 0.5 bullet; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy12.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy12.xml new file mode 100644 index 0000000..f7d5307 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy12.xml @@ -0,0 +1,21 @@ + + + + + + 0 + 2 + + + + 10 + + + 0 + 0.5 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy13-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy13-left.bnml new file mode 100644 index 0000000..f07446b --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy13-left.bnml @@ -0,0 +1,18 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute $rand * 360 term 1; + wait 2; + + changeDirection sequence -3 term 9999; + changeSpeed absolute 4 term 100; + + repeat 50 action { + fire direction relative 90 speed absolute 2 bullet; + fire direction relative -90 speed absolute 2 bullet; + wait 3; + } + + vanish; +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy13-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy13-left.xml new file mode 100644 index 0000000..5b19cd1 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy13-left.xml @@ -0,0 +1,36 @@ + + + + + + $rand*360 + 1 + + 2 + + -3 + 9999 + + + 4 + 100 + + + 50 + + + 90 + 2 + + + + -90 + 2 + + + 3 + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy13-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy13-right.bnml new file mode 100644 index 0000000..2b0838c --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy13-right.bnml @@ -0,0 +1,18 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute $rand * 360 term 1; + wait 2; + + changeDirection sequence 3 term 9999; + changeSpeed absolute 4 term 100; + + repeat 50 action { + fire direction relative 90 speed absolute 2 bullet; + fire direction relative -90 speed absolute 2 bullet; + wait 3; + } + + vanish; +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy13-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy13-right.xml new file mode 100644 index 0000000..6e617a9 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy13-right.xml @@ -0,0 +1,36 @@ + + + + + + $rand*360 + 1 + + 2 + + 3 + 9999 + + + 4 + 100 + + + 50 + + + 90 + 2 + + + + -90 + 2 + + + 3 + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy14-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy14-left.bnml new file mode 100644 index 0000000..b6606f5 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy14-left.bnml @@ -0,0 +1,9 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 100 action { + fire direction absolute -120 speed absolute 2 bullet; + wait 10; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy14-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy14-left.xml new file mode 100644 index 0000000..1d18e86 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy14-left.xml @@ -0,0 +1,17 @@ + + + + + + 100 + + + -120 + 2 + + + 10 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy14-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy14-right.bnml new file mode 100644 index 0000000..226f64c --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy14-right.bnml @@ -0,0 +1,9 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 100 action { + fire direction absolute 120 speed absolute 2 bullet; + wait 10; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy14-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy14-right.xml new file mode 100644 index 0000000..e8b5110 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy14-right.xml @@ -0,0 +1,17 @@ + + + + + + 100 + + + 120 + 2 + + + 10 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy15-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy15-left.bnml new file mode 100644 index 0000000..ab0509f --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy15-left.bnml @@ -0,0 +1,11 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + fire direction absolute 180 speed absolute 2 bullet; + wait 20; + repeat 60 action { + fire direction sequence -2 speed absolute 2 bullet; + wait 10; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy15-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy15-left.xml new file mode 100644 index 0000000..d3c7921 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy15-left.xml @@ -0,0 +1,23 @@ + + + + + + 180 + 2 + + + 20 + + 60 + + + -2 + 2 + + + 10 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy15-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy15-right.bnml new file mode 100644 index 0000000..37726d2 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy15-right.bnml @@ -0,0 +1,11 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + fire direction absolute 180 speed absolute 2 bullet; + wait 20; + repeat 60 action { + fire direction sequence 2 speed absolute 2 bullet; + wait 10; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy15-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy15-right.xml new file mode 100644 index 0000000..5243207 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy15-right.xml @@ -0,0 +1,23 @@ + + + + + + 180 + 2 + + + 20 + + 60 + + + 2 + 2 + + + 10 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy16.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy16.bnml new file mode 100644 index 0000000..eac7790 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy16.bnml @@ -0,0 +1,18 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 90 action { + fire direction absolute 120 speed absolute 2 bullet; + repeat 5 action { + fire direction sequence 6 speed absolute 2 bullet; + } + + fire direction absolute 240 speed absolute 2 bullet; + repeat 5 action { + fire direction sequence -6 speed absolute 2 bullet; + } + + wait 10; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy16.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy16.xml new file mode 100644 index 0000000..e170db6 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy16.xml @@ -0,0 +1,42 @@ + + + + + + 90 + + + 120 + 2 + + + + 5 + + + 6 + 2 + + + + + + 240 + 2 + + + + 5 + + + -6 + 2 + + + + + 10 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy17.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy17.bnml new file mode 100644 index 0000000..163b8f0 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy17.bnml @@ -0,0 +1,16 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 180 term 1; + changeSpeed absolute 1 term 1; + + repeat 20 action { + repeat 5 action { + fire direction absolute 135 speed absolute 2 bullet; + fire direction absolute 225 speed absolute 2 bullet; + wait 2; + } + wait 8; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy17.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy17.xml new file mode 100644 index 0000000..8664622 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy17.xml @@ -0,0 +1,36 @@ + + + + + + 180 + 1 + + + 1 + 1 + + + 20 + + + 5 + + + 135 + 2 + + + + 225 + 2 + + + 2 + + + 8 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy18-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy18-left.bnml new file mode 100644 index 0000000..732e560 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy18-left.bnml @@ -0,0 +1,18 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 180 term 1; + changeSpeed absolute 0.5 term 1; + wait 2; + + fire direction absolute 0 speed absolute 3 bullet; + repeat 60 action { + fire direction sequence -3 speed absolute 3 bullet; + fire direction sequence 0 speed sequence -0.5 bullet; + fire direction sequence 0 speed sequence -0.5 bullet; + fire direction sequence 0 speed sequence -0.5 bullet; + fire direction sequence 0 speed sequence -0.5 bullet; + wait 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy18-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy18-left.xml new file mode 100644 index 0000000..c461372 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy18-left.xml @@ -0,0 +1,51 @@ + + + + + + 180 + 1 + + + 0.5 + 1 + + 2 + + 0 + 3 + + + + 60 + + + -3 + 3 + + + + 0 + -0.5 + + + + 0 + -0.5 + + + + 0 + -0.5 + + + + 0 + -0.5 + + + 1 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy18-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy18-right.bnml new file mode 100644 index 0000000..08acb6b --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy18-right.bnml @@ -0,0 +1,18 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 180 term 1; + changeSpeed absolute 0.5 term 1; + wait 2; + + fire direction absolute 0 speed absolute 3 bullet; + repeat 60 action { + fire direction sequence 3 speed absolute 3 bullet; + fire direction sequence 0 speed sequence -0.5 bullet; + fire direction sequence 0 speed sequence -0.5 bullet; + fire direction sequence 0 speed sequence -0.5 bullet; + fire direction sequence 0 speed sequence -0.5 bullet; + wait 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy18-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy18-right.xml new file mode 100644 index 0000000..9cb5a70 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy18-right.xml @@ -0,0 +1,51 @@ + + + + + + 180 + 1 + + + 0.5 + 1 + + 2 + + 0 + 3 + + + + 60 + + + 3 + 3 + + + + 0 + -0.5 + + + + 0 + -0.5 + + + + 0 + -0.5 + + + + 0 + -0.5 + + + 1 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy19-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy19-left.bnml new file mode 100644 index 0000000..ff057d8 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy19-left.bnml @@ -0,0 +1,15 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeSpeed absolute (4 / 2.0) term 1; + changeDirection sequence -2 term 9999; + + repeat 300 action { + fire direction absolute 180 speed absolute (6 / 2.0) bullet; + fire direction absolute 135 speed absolute (6 / 2.0) bullet; + wait 2; + } + + vanish; +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy19-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy19-left.xml new file mode 100644 index 0000000..6e05bf6 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy19-left.xml @@ -0,0 +1,31 @@ + + + + + + (4/2.0) + 1 + + + -2 + 9999 + + + 300 + + + 180 + (6/2.0) + + + + 135 + (6/2.0) + + + 2 + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy19-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy19-right.bnml new file mode 100644 index 0000000..f335ee8 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy19-right.bnml @@ -0,0 +1,15 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeSpeed absolute (4 / 2.0) term 1; + changeDirection sequence 2 term 9999; + + repeat 300 action { + fire direction absolute 180 speed absolute (6 / 2.0) bullet; + fire direction absolute 225 speed absolute (6 / 2.0) bullet; + wait 2; + } + + vanish; +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy19-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy19-right.xml new file mode 100644 index 0000000..09f37b9 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy19-right.xml @@ -0,0 +1,31 @@ + + + + + + (4/2.0) + 1 + + + 2 + 9999 + + + 300 + + + 180 + (6/2.0) + + + + 225 + (6/2.0) + + + 2 + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy2.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy2.bnml new file mode 100644 index 0000000..5f710df --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy2.bnml @@ -0,0 +1,17 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeSpeed absolute 1 term 1; + changeDirection absolute 180 term 1; + + wait 60; + + repeat 5 action { + fire direction absolute 170 speed absolute 3 bullet; + repeat 9 action { + fire direction sequence 2 speed absolute 3 bullet; + } + wait 5; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy2.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy2.xml new file mode 100644 index 0000000..fe15d09 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy2.xml @@ -0,0 +1,36 @@ + + + + + + 1 + 1 + + + 180 + 1 + + 60 + + 5 + + + 170 + 3 + + + + 9 + + + 2 + 3 + + + + + 5 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy20-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy20-left.bnml new file mode 100644 index 0000000..d473847 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy20-left.bnml @@ -0,0 +1,25 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeSpeed absolute 0 term 1; + wait 30; + + fire direction absolute 270 speed absolute 2 bullet; + wait 3; + repeat 100 action { + actionRef fireSide(90); + fire direction sequence 0 speed absolute 2 bullet; + actionRef fireSide(-90); + wait 3; + } +} + +// $1: angle +action fireSide { + fire direction sequence 0 speed absolute 2 bullet action { + changeDirection sequence - $1 term 1; + wait 2; + changeDirection sequence $1 term 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy20-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy20-left.xml new file mode 100644 index 0000000..d572079 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy20-left.xml @@ -0,0 +1,53 @@ + + + + + + 0 + 1 + + 30 + + 270 + 2 + + + 3 + + 100 + + + 90 + + + 0 + 2 + + + + -90 + + 3 + + + + + + 0 + 2 + + + + -$1 + 1 + + 2 + + $1 + 1 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy20-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy20-right.bnml new file mode 100644 index 0000000..451d763 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy20-right.bnml @@ -0,0 +1,25 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeSpeed absolute 0 term 1; + wait 30; + + fire direction absolute 90 speed absolute 2 bullet; + wait 3; + repeat 100 action { + actionRef fireSide(90); + fire direction sequence 0 speed absolute 2 bullet; + actionRef fireSide(-90); + wait 3; + } +} + +// $1: angle +action fireSide { + fire direction sequence 0 speed absolute 2 bullet action { + changeDirection sequence - $1 term 1; + wait 2; + changeDirection sequence $1 term 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy20-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy20-right.xml new file mode 100644 index 0000000..fe29972 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy20-right.xml @@ -0,0 +1,53 @@ + + + + + + 0 + 1 + + 30 + + 90 + 2 + + + 3 + + 100 + + + 90 + + + 0 + 2 + + + + -90 + + 3 + + + + + + 0 + 2 + + + + -$1 + 1 + + 2 + + $1 + 1 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy21.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy21.bnml new file mode 100644 index 0000000..5748bca --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy21.bnml @@ -0,0 +1,29 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 180 term 1; + changeSpeed absolute 1 term 1; + wait 60; + + changeSpeed absolute 0 term 10; + wait 10; + + changeDirection absolute 0 term 1; + + fire direction aim 0 speed absolute 1 bullet; + repeat 5 action { + fire direction aim 0 speed sequence 0.1 bullet; + fire direction aim 2 speed sequence 0 bullet; + fire direction aim 4 speed sequence 0 bullet; + fire direction aim -2 speed sequence 0 bullet; + fire direction aim -4 speed sequence 0 bullet; + } + + changeSpeed absolute 1 term 10; + wait 10; + + wait 60; + + fire direction aim 0 speed absolute 2 bullet; +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy21.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy21.xml new file mode 100644 index 0000000..723bb27 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy21.xml @@ -0,0 +1,70 @@ + + + + + + 180 + 1 + + + 1 + 1 + + 60 + + 0 + 10 + + 10 + + 0 + 1 + + + 0 + 1 + + + + 5 + + + 0 + 0.1 + + + + 2 + 0 + + + + 4 + 0 + + + + -2 + 0 + + + + -4 + 0 + + + + + + 1 + 10 + + 10 + 60 + + 0 + 2 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy22.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy22.bnml new file mode 100644 index 0000000..6064a8a --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy22.bnml @@ -0,0 +1,12 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeSpeed absolute 1 term 1; + repeat 8 action { + changeDirection direction aim 0 term 1; + wait 10; + } + + fire direction aim 0 speed absolute 1 bullet; +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy22.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy22.xml new file mode 100644 index 0000000..b4c8e8b --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy22.xml @@ -0,0 +1,25 @@ + + + + + + 1 + 1 + + + 8 + + + 0 + 1 + + 10 + + + + 0 + 1 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy23.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy23.bnml new file mode 100644 index 0000000..b0f3c69 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy23.bnml @@ -0,0 +1,11 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 12 action { + fire direction sequence 30 speed absolute 1 bullet action { + wait 10; + changeDirection absolute 180 term 1; + } + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy23.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy23.xml new file mode 100644 index 0000000..b9a9ce3 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy23.xml @@ -0,0 +1,24 @@ + + + + + + 12 + + + 30 + 1 + + + 10 + + 180 + 1 + + + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy3.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy3.bnml new file mode 100644 index 0000000..9319587 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy3.bnml @@ -0,0 +1,21 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 5 action { + changeDirection direction aim 0 term 1; + changeSpeed absolute 0.5 term 1; + wait 1; + + repeat 10 action { + fire direction relative 0 speed absolute 2 bullet; + wait 3; + } + + wait 30; + } + + repeat 20 action { + fire direction sequence 18 speed absolute 1 bullet; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy3.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy3.xml new file mode 100644 index 0000000..691c5e5 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy3.xml @@ -0,0 +1,42 @@ + + + + + + 5 + + + 0 + 1 + + + 0.5 + 1 + + 1 + + 10 + + + 0 + 2 + + + 3 + + + 30 + + + + 20 + + + 18 + 1 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy4.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy4.bnml new file mode 100644 index 0000000..cb36e0b --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy4.bnml @@ -0,0 +1,18 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + wait 120; + + repeat 5 action { + fire direction aim 0 speed absolute 1 bullet; + repeat 5 action { + fire direction aim 0 speed sequence 0.5 bullet; + fire direction aim 2 speed sequence 0 bullet; + fire direction aim 4 speed sequence 0 bullet; + fire direction aim -2 speed sequence 0 bullet; + fire direction aim -4 speed sequence 0 bullet; + } + wait 10; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy4.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy4.xml new file mode 100644 index 0000000..8d06565 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy4.xml @@ -0,0 +1,48 @@ + + + + + 120 + + 5 + + + 0 + 1 + + + + 5 + + + 0 + 0.5 + + + + 2 + 0 + + + + 4 + 0 + + + + -2 + 0 + + + + -4 + 0 + + + + + 10 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy5-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy5-left.bnml new file mode 100644 index 0000000..1c2e937 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy5-left.bnml @@ -0,0 +1,18 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 90 term 1; + changeSpeed absolute 0.5 term 1; + repeat 30 action { + actionRef fireLine(); + wait 10; + } +} + +action fireLine { + fire direction absolute 180 speed absolute 1 bullet; + repeat 5 action { + fire direction absolute 180 speed sequence 0.2 bullet; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy5-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy5-left.xml new file mode 100644 index 0000000..eb01dbf --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy5-left.xml @@ -0,0 +1,38 @@ + + + + + + 90 + 1 + + + 0.5 + 1 + + + 30 + + + 10 + + + + + + 180 + 1 + + + + 5 + + + 180 + 0.2 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy5-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy5-right.bnml new file mode 100644 index 0000000..51e5219 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy5-right.bnml @@ -0,0 +1,18 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + changeDirection absolute 270 term 1; + changeSpeed absolute 0.5 term 1; + repeat 30 action { + actionRef fireLine(); + wait 10; + } +} + +action fireLine { + fire direction absolute 180 speed absolute 1 bullet; + repeat 5 action { + fire direction absolute 180 speed sequence 0.2 bullet; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy5-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy5-right.xml new file mode 100644 index 0000000..1757718 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy5-right.xml @@ -0,0 +1,38 @@ + + + + + + 270 + 1 + + + 0.5 + 1 + + + 30 + + + 10 + + + + + + 180 + 1 + + + + 5 + + + 180 + 0.2 + + + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy6.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy6.bnml new file mode 100644 index 0000000..a4fe364 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy6.bnml @@ -0,0 +1,10 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + repeat 1000 action { + fire direction aim 10 speed absolute 4 bullet; + fire direction aim -10 speed absolute 4 bullet; + wait 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy6.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy6.xml new file mode 100644 index 0000000..6208d9a --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy6.xml @@ -0,0 +1,22 @@ + + + + + + 1000 + + + 10 + 4 + + + + -10 + 4 + + + 1 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy7.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy7.bnml new file mode 100644 index 0000000..8a5c42d --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy7.bnml @@ -0,0 +1,14 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + wait 120; + + repeat 6 action { + repeat 100 action { + fire direction aim 0 speed absolute 4 bullet; + wait 1; + } + wait 30; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy7.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy7.xml new file mode 100644 index 0000000..94ae613 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy7.xml @@ -0,0 +1,24 @@ + + + + + 120 + + 6 + + + 100 + + + 0 + 4 + + + 1 + + + 30 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy8-bottom.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy8-bottom.bnml new file mode 100644 index 0000000..007fc66 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy8-bottom.bnml @@ -0,0 +1,24 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + fire direction absolute 180 speed absolute 2 bullet; + repeat 10 action { + actionRef fireWave; + } +} + +action fireWave { + repeat 5 action { + fire direction sequence 3 speed absolute 2 bullet; + wait 1; + } + repeat 10 action { + fire direction sequence -3 speed absolute 2 bullet; + wait 1; + } + repeat 5 action { + fire direction sequence 3 speed absolute 2 bullet; + wait 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy8-bottom.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy8-bottom.xml new file mode 100644 index 0000000..a346e35 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy8-bottom.xml @@ -0,0 +1,52 @@ + + + + + + 180 + 2 + + + + 10 + + + + + + + + 5 + + + 3 + 2 + + + 1 + + + + 10 + + + -3 + 2 + + + 1 + + + + 5 + + + 3 + 2 + + + 1 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy8-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy8-left.bnml new file mode 100644 index 0000000..ec71cd3 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy8-left.bnml @@ -0,0 +1,24 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + fire direction absolute 270 speed absolute 2 bullet; + repeat 10 action { + actionRef fireWave; + } +} + +action fireWave { + repeat 5 action { + fire direction sequence 3 speed absolute 2 bullet; + wait 1; + } + repeat 10 action { + fire direction sequence -3 speed absolute 2 bullet; + wait 1; + } + repeat 5 action { + fire direction sequence 3 speed absolute 2 bullet; + wait 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy8-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy8-left.xml new file mode 100644 index 0000000..828fc88 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy8-left.xml @@ -0,0 +1,52 @@ + + + + + + 270 + 2 + + + + 10 + + + + + + + + 5 + + + 3 + 2 + + + 1 + + + + 10 + + + -3 + 2 + + + 1 + + + + 5 + + + 3 + 2 + + + 1 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy8-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy8-right.bnml new file mode 100644 index 0000000..d2527bd --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy8-right.bnml @@ -0,0 +1,24 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + fire direction absolute 90 speed absolute 2 bullet; + repeat 10 action { + actionRef fireWave; + } +} + +action fireWave { + repeat 5 action { + fire direction sequence 3 speed absolute 2 bullet; + wait 1; + } + repeat 10 action { + fire direction sequence -3 speed absolute 2 bullet; + wait 1; + } + repeat 5 action { + fire direction sequence 3 speed absolute 2 bullet; + wait 1; + } +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy8-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy8-right.xml new file mode 100644 index 0000000..2dbaabb --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy8-right.xml @@ -0,0 +1,52 @@ + + + + + + 90 + 2 + + + + 10 + + + + + + + + 5 + + + 3 + 2 + + + 1 + + + + 10 + + + -3 + 2 + + + 1 + + + + 5 + + + 3 + 2 + + + 1 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy9-left.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy9-left.bnml new file mode 100644 index 0000000..07015ae --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy9-left.bnml @@ -0,0 +1,22 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + fire direction absolute 260 speed absolute 2.5 bullet; + + repeat 20 action { + fire direction sequence -5 speed absolute 2.5 bullet; + actionRef fireLine(); + wait 2; + } +} + +action fireLine { + fire direction sequence 0 speed absolute 1 bullet; + fire direction sequence 0 speed sequence 0.2 bullet; + fire direction sequence 0 speed sequence 0.2 bullet; + fire direction sequence 0 speed sequence 0.2 bullet; + fire direction sequence 0 speed sequence 0.2 bullet; + fire direction sequence 0 speed sequence 0.2 bullet; + fire direction sequence 0 speed sequence 0.2 bullet; +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy9-left.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy9-left.xml new file mode 100644 index 0000000..5cde945 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy9-left.xml @@ -0,0 +1,60 @@ + + + + + + 260 + 2.5 + + + + 20 + + + -5 + 2.5 + + + + 2 + + + + + + 0 + 1 + + + + 0 + 0.2 + + + + 0 + 0.2 + + + + 0 + 0.2 + + + + 0 + 0.2 + + + + 0 + 0.2 + + + + 0 + 0.2 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy9-right.bnml b/vulkanon/generator/bulletml/vulkanon/L0_enemy9-right.bnml new file mode 100644 index 0000000..f197aab --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy9-right.bnml @@ -0,0 +1,22 @@ +//-*- Mode: c; indent-tabs-mode: nil; Coding: utf-8; -*- +// BulletNotML code (http://www.notava.org/notavacc/bullet/index.html) + +action top { + fire direction absolute 100 speed absolute 2.5 bullet; + + repeat 20 action { + fire direction sequence 5 speed absolute 2.5 bullet; + actionRef fireLine(); + wait 2; + } +} + +action fireLine { + fire direction sequence 0 speed absolute 1 bullet; + fire direction sequence 0 speed sequence 0.2 bullet; + fire direction sequence 0 speed sequence 0.2 bullet; + fire direction sequence 0 speed sequence 0.2 bullet; + fire direction sequence 0 speed sequence 0.2 bullet; + fire direction sequence 0 speed sequence 0.2 bullet; + fire direction sequence 0 speed sequence 0.2 bullet; +} diff --git a/vulkanon/generator/bulletml/vulkanon/L0_enemy9-right.xml b/vulkanon/generator/bulletml/vulkanon/L0_enemy9-right.xml new file mode 100644 index 0000000..7af4ba3 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/L0_enemy9-right.xml @@ -0,0 +1,60 @@ + + + + + + 100 + 2.5 + + + + 20 + + + 5 + 2.5 + + + + 2 + + + + + + 0 + 1 + + + + 0 + 0.2 + + + + 0 + 0.2 + + + + 0 + 0.2 + + + + 0 + 0.2 + + + + 0 + 0.2 + + + + 0 + 0.2 + + + + diff --git a/vulkanon/generator/bulletml/vulkanon/MEMO.ja b/vulkanon/generator/bulletml/vulkanon/MEMO.ja new file mode 100644 index 0000000..0e20091 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/MEMO.ja @@ -0,0 +1,55 @@ +L0 + enemy0 → 自機に近づいてきて (70フレ)、 360 度に弾を打って即死。 + enemy1 → 自機狙いの高密度 8way (5連射) を繰り返しながら左右に移動。 + left, right + enemy2 → 下に移動して (60フレ)、下狙い高密度 10 way (5 連射) を打って即死。 + enemy3 → 自機に近づきながら、自機狙い 10 連射を繰り返す (60フレまで)。 その後に 360 度弾を打って即死。 + enemy4 → 自機狙い高密度 5way (5連射) を打って即死。 + enemy5 → 左右に移動しながら下狙いの 5 連射弾。 + left, right + enemy6 → 自機狙いの 2way 弾を連射する。(1000連射) + enemy7 → 自機狙いの 100 連射弾を繰り返す (6 回) + enemy8 → 固定狙いの wave 弾を発射する。 + (bottom: 下狙い、 left: 左狙い、 right: 右狙い) + enemy9 → 扇型のばらまき。 + (right: 右半分、 left: 左半分) + enemy10 → 下に移動しながら 6way 弾 (連射) を繰り返す。 + enemy11 → 左右に移動しながら自機狙い弾を連射 + (left: 左移動、right: 右移動) + enemy12 → 自機狙い 10 連射弾を打って即死。 + enemy13 → 回転しながら自分が向いている方角に進みつつ、90, 270 度に弾を吐くことを繰り返す。 + (right: 右回転、 left: 左回転) + enemy14 → 右下 (左下) 弾を繰り返す。 + (right: 右下、 left: 左下) + enemy15 → 回転しながら自分が向いている方向に弾を打つことの繰り返し。 + 45 度くらい回転したら死亡。 + (right: 右回転、 left: 左回転) + enemy16 → 右下、左下に 6way 弾を打つことの繰り返し。 + enemy17 → 下に移動しながら左右に弾を打つ (sideshot)。 + enemy18 → 上から下まで右(左)まわりに弾を打つ (5連射) + (right: 右回転、 left: 左回転) + enemy19 → 円運動しながら下と右(左)下に弾を打つことの繰り返し。 + (right: 右回転、 left: 左回転) + enemy20 → 真横狙いの 3 列弾を打つ + (right: 右方向、 left: 左方向) + enemy21 → 下に移動してから、上に方向転換。 その際に自機狙いの高密度 5way (5連射) を打つ。 + 死に際に高速自機狙い弾を発射。 + enemy22 → 自機に近づいてきて (80 フレ)、自機狙い弾を打って即死。 + enemy23 → リング弾を下方向に発射して即死。 + + + boss0 → (下に移動してストップ) 360 度弾と自機狙い 2way 弾を繰り返す (20回) + boss1 → 自分の向いている方向の 0, 90, 180, 270 度に弾を吐きながら自分は回転する。 + 見た目はスクリュー。 + boss2 → (下に移動してストップ) 自機狙いの高密度 8way (5連射) を繰り返す。 (20回) + boss3 → 6 way 弾を左右に揺らしながら繰り返す。 (見た目は wave) + (right: 右方向に弾幕を張る、 left: 左方向に弾幕を張る) + boss4 → 下狙い 6 way 弾 (30フレ後に自機狙い弾へと変化) を繰り返す。 (30回) + boss5 → 360 度回転弾 (約20フレ後に自機狙い弾へと変化) を繰り返す。 + (right: 右回転、 left: 左回転) + boss6 → 円運動をしながら自機狙い弾を繰り返す。 + boss7 → 下に移動しながら自機狙いの 3 列弾を繰り返す。 + boss8 → (下に移動してストップ) 回転しながら自分に向いている方向弾を出す (見ため薄いスクリュー) + (right: 右回転、 left: 左回転) + boss9 → 回転しながら、自分の向いている方向 0, 180 度に 3 列弾を出す (見ためスクリュー) + boss10 → 円運動をしながら、自分の向いている方向 180 度に 3 列弾を出す。 diff --git a/vulkanon/generator/bulletml/vulkanon/Makefile b/vulkanon/generator/bulletml/vulkanon/Makefile new file mode 100644 index 0000000..e1352d4 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/Makefile @@ -0,0 +1,5 @@ +all: + ./make.sh + +clean: + -rm -f *.xml diff --git a/vulkanon/generator/bulletml/vulkanon/make.sh b/vulkanon/generator/bulletml/vulkanon/make.sh new file mode 100755 index 0000000..fcce167 --- /dev/null +++ b/vulkanon/generator/bulletml/vulkanon/make.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +for f in *.bnml; do + destfile=$(basename $f .bnml).xml + echo "$f -> $destfile" + java -jar ~/gba/tools/bulletnotml.jar $f > $destfile +done diff --git a/vulkanon/generator/cleanup-files.php b/vulkanon/generator/cleanup-files.php new file mode 100755 index 0000000..0ca9b06 --- /dev/null +++ b/vulkanon/generator/cleanup-files.php @@ -0,0 +1,17 @@ +#!/usr/bin/env php + diff --git a/vulkanon/generator/convall.sh b/vulkanon/generator/convall.sh new file mode 100755 index 0000000..7cf169f --- /dev/null +++ b/vulkanon/generator/convall.sh @@ -0,0 +1,119 @@ +#!/bin/sh + +cutcomment() { + dir="data/xml" + + [ -d tmp ] || mkdir tmp + + if [ -z "$1" ]; then + target=$(find $dir -name '*.xml') + else + target=$dir/$1 + fi + + for f in $target; do + echo "parse" $f + php ./php/cutcomment.php $f + done +} + +replacereference() { + dir="tmp/00-cutcomment" + + if [ -z "$1" ]; then + target=$(find $dir -name '*.xml') + else + target=$dir/$1 + fi + + for f in $target; do + echo "parse" $f + php ./php/replace-reference.php $f + done +} + +cleanup() { + dir="tmp/01-rr" + + if [ -z "$1" ]; then + target=$(find $dir -name '*.xml') + else + target=$dir/$1 + fi + + for f in $target; do + echo "parse" $f + php ./php/cleanup.php $f + done +} + +makestepfunc() { + dir="tmp/02-cleanup" + + if [ -z "$1" ]; then + target=$(find $dir -name '*.xml') + else + target=$dir/$1 + fi + + for f in $target; do + echo "parse" $f + php ./php/make-stepfunc.php $f + done +} + +splitbullet() { + dir="tmp/03-makestepfunc" + + if [ -z "$1" ]; then + target=$(find $dir -name '*.xml') + else + target=$dir/$1 + fi + + for f in $target; do + echo "parse" $f + php ./php/splitbullet.php $f + done +} + +gencode() { + dir="tmp/04-splitbullet" + + if [ -z "$1" ]; then + target=$(find $dir -name '*.xml') + else + target=$dir/$1 + fi + + for f in $target; do + tailpath="$(basename $(dirname $f))/$(basename $f .xml)" + echo "parse" $f + + php ./php/gen-callingvector.php $f + if [ $? -eq 1 ]; then + rm tmp/05-gen-callingvector/$tailpath.* + else + destfile="data/code/${tailpath}.cpp" + mkdir -p $(dirname $destfile) + php ./php/gen-code.php $f > $destfile + if [ $? -eq 1 ]; then + rm tmp/05-gen-callingvector/$tailpath.* + rm $destfile + else + cp tmp/05-gen-callingvector/$tailpath.hpp $(dirname $destfile) + fi + fi + done +} + +#------------------------------------------------------------ + +cleanup-files.php +cutcomment $1 +replacereference $1 +cleanup $1 +makestepfunc $1 +splitbullet $1 +gencode $1 +./make-barragelist.php > data/code/barragelist.hpp diff --git a/vulkanon/generator/copy-from-bml.php b/vulkanon/generator/copy-from-bml.php new file mode 100755 index 0000000..d5189e9 --- /dev/null +++ b/vulkanon/generator/copy-from-bml.php @@ -0,0 +1,50 @@ +#!/usr/bin/env php +preserveWhiteSpace = false; + if ($doc->loadXML($xml) == FALSE) { + file_put_contents('/tmp/mogemoge', $xml); + error_log("[ERROR] error in $file"); + continue; + } + + $group = NULL; + $filename = NULL; + + $group = trim($doc->getElementsByTagName('group')->item(0)->nodeValue); + $filename = trim($doc->getElementsByTagName('filename')->item(0)->nodeValue); + + if ($group === NULL || $filename === NULL) { + continue; + } + + $destfile = strtolower("data/xml/$group/$filename.xml"); + $bulletmlElem = $doc->getElementsByTagName('bulletml')->item(0); + if ($bulletmlElem == NULL) { + continue; + } + + if (! file_exists(dirname($destfile))) { + mkdir(dirname($destfile)); + } + + $newXML = $doc->saveXML($bulletmlElem); + file_put_contents($destfile, $newXML); +} + + +?> diff --git a/vulkanon/generator/copy-from-xml.php b/vulkanon/generator/copy-from-xml.php new file mode 100755 index 0000000..f0e094d --- /dev/null +++ b/vulkanon/generator/copy-from-xml.php @@ -0,0 +1,30 @@ +#!/usr/bin/env php +preserveWhiteSpace = false; +if ($doc->load($xmlfile) == FALSE) { + Common::error("[ERROR] error in $xmlfile"); +} +$doc->save($destfile); + +?> diff --git a/vulkanon/generator/data/code/barragelist.hpp b/vulkanon/generator/data/code/barragelist.hpp new file mode 100644 index 0000000..c6b2892 --- /dev/null +++ b/vulkanon/generator/data/code/barragelist.hpp @@ -0,0 +1,1915 @@ +#ifndef BARRAGELIST_HPP +#define BARRAGELIST_HPP +#include "bullet.hpp" + +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L0_1[] = { +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 90, 4, genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10000 }, +{ 0, 0, 0, NULL, ACTIONTYPE_BOSS_ENABLE, 0 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L0_2[] = { +{ 32, 10, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 20, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 20, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 30, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 30, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 40, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 40, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 50, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 50, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 60, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 60, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 70, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 70, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 80, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 80, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 90, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 90, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 100, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 100, 1, genBulletFunc_09bfd4e879c0988929257729c81f9c4c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L0_3[] = { +{ 72, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 160, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 102, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 130, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 52, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 180, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 92, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 140, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 72, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 160, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 32, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 102, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 130, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 30, 32, genBulletFunc_318a5e347d432a1a29542cd45457692a, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L0_4[] = { +{ 52, 50, 4, genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 180, 50, 4, genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 1000 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_dec11e16a9f1150c45961315fc55e25c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_dec11e16a9f1150c45961315fc55e25c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_dec11e16a9f1150c45961315fc55e25c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_dec11e16a9f1150c45961315fc55e25c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_dec11e16a9f1150c45961315fc55e25c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_dec11e16a9f1150c45961315fc55e25c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_dec11e16a9f1150c45961315fc55e25c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_dec11e16a9f1150c45961315fc55e25c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_dec11e16a9f1150c45961315fc55e25c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_dec11e16a9f1150c45961315fc55e25c(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L0_5[] = { +{ 22, 0, 8, genBulletFunc_dec11e16a9f1150c45961315fc55e25c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 32, 0, 8, genBulletFunc_dec11e16a9f1150c45961315fc55e25c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 42, 0, 8, genBulletFunc_dec11e16a9f1150c45961315fc55e25c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 52, 0, 8, genBulletFunc_dec11e16a9f1150c45961315fc55e25c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 62, 0, 8, genBulletFunc_dec11e16a9f1150c45961315fc55e25c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 210, 0, 8, genBulletFunc_dec11e16a9f1150c45961315fc55e25c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 200, 0, 8, genBulletFunc_dec11e16a9f1150c45961315fc55e25c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 190, 0, 8, genBulletFunc_dec11e16a9f1150c45961315fc55e25c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 180, 0, 8, genBulletFunc_dec11e16a9f1150c45961315fc55e25c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 170, 0, 8, genBulletFunc_dec11e16a9f1150c45961315fc55e25c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +const BarrageInfo * const listBarrage_L0_all[] = { + listBarrage_L0_1, listBarrage_L0_2, listBarrage_L0_3, listBarrage_L0_4, listBarrage_L0_5, NULL, }; + +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_45873150e5988b429bcb0292a3ef221c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_9e086ca75252f14be2079197f41e0a5f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_45873150e5988b429bcb0292a3ef221c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_9e086ca75252f14be2079197f41e0a5f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_45873150e5988b429bcb0292a3ef221c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_9e086ca75252f14be2079197f41e0a5f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_45873150e5988b429bcb0292a3ef221c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_9e086ca75252f14be2079197f41e0a5f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_34ea1a195216339fa1c1aeb217396b04(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L1_1[] = { +{ 12, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 32, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 52, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 72, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 92, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 112, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 132, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 152, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 172, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 192, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 212, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 220, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 200, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 180, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 160, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 140, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 120, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 100, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 80, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 60, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 40, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 20, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 232, 16, 16, genBulletFunc_45873150e5988b429bcb0292a3ef221c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 0, 32, 16, genBulletFunc_9e086ca75252f14be2079197f41e0a5f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 232, 48, 16, genBulletFunc_45873150e5988b429bcb0292a3ef221c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 0, 64, 16, genBulletFunc_9e086ca75252f14be2079197f41e0a5f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 232, 80, 16, genBulletFunc_45873150e5988b429bcb0292a3ef221c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 0, 96, 16, genBulletFunc_9e086ca75252f14be2079197f41e0a5f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 232, 112, 16, genBulletFunc_45873150e5988b429bcb0292a3ef221c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 0, 128, 16, genBulletFunc_9e086ca75252f14be2079197f41e0a5f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 1000 }, +{ 106, 10, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 126, 10, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 96, 10, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 136, 10, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 86, 10, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 146, 10, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 106, 20, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 126, 20, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 96, 20, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 136, 20, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 86, 20, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 146, 20, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 106, 30, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 126, 30, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 96, 30, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 136, 30, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 86, 30, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 146, 30, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 106, 40, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 126, 40, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 96, 40, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 136, 40, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 86, 40, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 146, 40, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 106, 50, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 126, 50, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 96, 50, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 136, 50, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 86, 50, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 146, 50, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 106, 60, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 126, 60, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 96, 60, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 136, 60, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 86, 60, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 146, 60, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 106, 70, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 126, 70, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 96, 70, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 136, 70, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 86, 70, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 146, 70, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 106, 80, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 126, 80, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 96, 80, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 136, 80, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 86, 80, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 146, 80, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 106, 90, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 126, 90, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 96, 90, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 136, 90, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 86, 90, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 146, 90, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 106, 100, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 126, 100, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 96, 100, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 136, 100, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 86, 100, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 146, 100, 1, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 300 }, +{ 116, 80, 64, genBulletFunc_34ea1a195216339fa1c1aeb217396b04, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 2000 }, +{ 0, 0, 0, NULL, ACTIONTYPE_BOSS_ENABLE, 0 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L1_2[] = { +{ 160, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 72, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 160, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 72, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 160, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 72, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 160, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 72, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 160, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 72, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 160, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 72, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 160, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 72, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 160, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 72, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 160, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 72, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 160, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 72, 10, 4, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_9e086ca75252f14be2079197f41e0a5f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_45873150e5988b429bcb0292a3ef221c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_9e086ca75252f14be2079197f41e0a5f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_45873150e5988b429bcb0292a3ef221c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_9e086ca75252f14be2079197f41e0a5f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1ca95cbf6fecc58fbb1e3f826fc3545b(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1ca95cbf6fecc58fbb1e3f826fc3545b(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L1_3[] = { +{ 0, 40, 32, genBulletFunc_9e086ca75252f14be2079197f41e0a5f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 232, 100, 32, genBulletFunc_45873150e5988b429bcb0292a3ef221c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 0, 80, 32, genBulletFunc_9e086ca75252f14be2079197f41e0a5f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 232, 120, 32, genBulletFunc_45873150e5988b429bcb0292a3ef221c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 0, 100, 32, genBulletFunc_9e086ca75252f14be2079197f41e0a5f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 12, 0, 32, genBulletFunc_1ca95cbf6fecc58fbb1e3f826fc3545b, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 0, 32, genBulletFunc_1ca95cbf6fecc58fbb1e3f826fc3545b, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L1_4[] = { +{ 78, 40, 4, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 4, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 4, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 4, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 4, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 4, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 4, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 4, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 4, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 4, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 400 }, +{ 12, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 0, 2, genBulletFunc_c787821cbc147550a9bd0da97aff775e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_36341c0e8b8dd3b18492fefc828e7390(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_36341c0e8b8dd3b18492fefc828e7390(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L1_5[] = { +{ 32, 0, 8, genBulletFunc_36341c0e8b8dd3b18492fefc828e7390, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 8, genBulletFunc_36341c0e8b8dd3b18492fefc828e7390, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 800 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +const BarrageInfo * const listBarrage_L1_all[] = { + listBarrage_L1_1, listBarrage_L1_2, listBarrage_L1_3, listBarrage_L1_4, listBarrage_L1_5, NULL, }; + +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d5b50d066fb77c09379b2ecff4c01376(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_394cea4d77e9d333c235108b5dbc5c88(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d5b50d066fb77c09379b2ecff4c01376(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_394cea4d77e9d333c235108b5dbc5c88(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d5b50d066fb77c09379b2ecff4c01376(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_394cea4d77e9d333c235108b5dbc5c88(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d5b50d066fb77c09379b2ecff4c01376(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_394cea4d77e9d333c235108b5dbc5c88(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d5b50d066fb77c09379b2ecff4c01376(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_394cea4d77e9d333c235108b5dbc5c88(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d5b50d066fb77c09379b2ecff4c01376(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_394cea4d77e9d333c235108b5dbc5c88(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d5b50d066fb77c09379b2ecff4c01376(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_394cea4d77e9d333c235108b5dbc5c88(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d5b50d066fb77c09379b2ecff4c01376(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_394cea4d77e9d333c235108b5dbc5c88(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d5b50d066fb77c09379b2ecff4c01376(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_394cea4d77e9d333c235108b5dbc5c88(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d5b50d066fb77c09379b2ecff4c01376(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_394cea4d77e9d333c235108b5dbc5c88(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_7964c56f54d5225e5f62ad03d1bd17a1(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_f62ae716ff689b0db49490423ea6e1db(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_f62ae716ff689b0db49490423ea6e1db(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_f62ae716ff689b0db49490423ea6e1db(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_f62ae716ff689b0db49490423ea6e1db(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_f62ae716ff689b0db49490423ea6e1db(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_f62ae716ff689b0db49490423ea6e1db(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_f62ae716ff689b0db49490423ea6e1db(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_f62ae716ff689b0db49490423ea6e1db(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_f62ae716ff689b0db49490423ea6e1db(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_f62ae716ff689b0db49490423ea6e1db(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L2_1[] = { +{ 116, 30, 4, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 4, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 40, 4, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 40, 4, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 50, 4, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 50, 4, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 60, 4, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 60, 4, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 70, 4, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 70, 4, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 80, 4, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 80, 4, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 90, 4, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 90, 4, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 100, 4, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 100, 4, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 110, 4, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 110, 4, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 120, 4, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 120, 4, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 3, genBulletFunc_d5b50d066fb77c09379b2ecff4c01376, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_394cea4d77e9d333c235108b5dbc5c88, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 20, 3, genBulletFunc_d5b50d066fb77c09379b2ecff4c01376, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 20, 3, genBulletFunc_394cea4d77e9d333c235108b5dbc5c88, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 30, 3, genBulletFunc_d5b50d066fb77c09379b2ecff4c01376, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 30, 3, genBulletFunc_394cea4d77e9d333c235108b5dbc5c88, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 40, 3, genBulletFunc_d5b50d066fb77c09379b2ecff4c01376, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 40, 3, genBulletFunc_394cea4d77e9d333c235108b5dbc5c88, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 50, 3, genBulletFunc_d5b50d066fb77c09379b2ecff4c01376, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 50, 3, genBulletFunc_394cea4d77e9d333c235108b5dbc5c88, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 60, 3, genBulletFunc_d5b50d066fb77c09379b2ecff4c01376, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 60, 3, genBulletFunc_394cea4d77e9d333c235108b5dbc5c88, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 70, 3, genBulletFunc_d5b50d066fb77c09379b2ecff4c01376, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 70, 3, genBulletFunc_394cea4d77e9d333c235108b5dbc5c88, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 80, 3, genBulletFunc_d5b50d066fb77c09379b2ecff4c01376, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 80, 3, genBulletFunc_394cea4d77e9d333c235108b5dbc5c88, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 90, 3, genBulletFunc_d5b50d066fb77c09379b2ecff4c01376, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 90, 3, genBulletFunc_394cea4d77e9d333c235108b5dbc5c88, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 100, 3, genBulletFunc_d5b50d066fb77c09379b2ecff4c01376, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 100, 3, genBulletFunc_394cea4d77e9d333c235108b5dbc5c88, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 300 }, +{ 116, 30, 32, genBulletFunc_7964c56f54d5225e5f62ad03d1bd17a1, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 300 }, +{ 78, 40, 8, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 8, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 8, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 8, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 8, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 8, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 8, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 8, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 8, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 78, 40, 8, genBulletFunc_b96cacf384b7371a18153dbb611dbf2f, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 40 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 400 }, +{ 14, 10, 4, genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 218, 10, 4, genBulletFunc_f62ae716ff689b0db49490423ea6e1db, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 16, 20, 4, genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 216, 20, 4, genBulletFunc_f62ae716ff689b0db49490423ea6e1db, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 18, 30, 4, genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 214, 30, 4, genBulletFunc_f62ae716ff689b0db49490423ea6e1db, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 20, 40, 4, genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 212, 40, 4, genBulletFunc_f62ae716ff689b0db49490423ea6e1db, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 22, 50, 4, genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 210, 50, 4, genBulletFunc_f62ae716ff689b0db49490423ea6e1db, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 24, 60, 4, genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 208, 60, 4, genBulletFunc_f62ae716ff689b0db49490423ea6e1db, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 26, 70, 4, genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 206, 70, 4, genBulletFunc_f62ae716ff689b0db49490423ea6e1db, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 28, 80, 4, genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 204, 80, 4, genBulletFunc_f62ae716ff689b0db49490423ea6e1db, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 30, 90, 4, genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 202, 90, 4, genBulletFunc_f62ae716ff689b0db49490423ea6e1db, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 100, 4, genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 100, 4, genBulletFunc_f62ae716ff689b0db49490423ea6e1db, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 500 }, +{ 0, 0, 0, NULL, ACTIONTYPE_BOSS_ENABLE, 0 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_1ca95cbf6fecc58fbb1e3f826fc3545b(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1ca95cbf6fecc58fbb1e3f826fc3545b(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1ca95cbf6fecc58fbb1e3f826fc3545b(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_bf44993c7032c5f5ff2e199bd34b2b7d(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L2_2[] = { +{ 116, 40, 16, genBulletFunc_1ca95cbf6fecc58fbb1e3f826fc3545b, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 10, 40, 64, genBulletFunc_1ca95cbf6fecc58fbb1e3f826fc3545b, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 222, 40, 64, genBulletFunc_1ca95cbf6fecc58fbb1e3f826fc3545b, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 1200 }, +{ 116, 40, 16, genBulletFunc_bf44993c7032c5f5ff2e199bd34b2b7d, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 300 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 100 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_d616ce17dab7949731bdeb5fbace6e10(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d616ce17dab7949731bdeb5fbace6e10(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d616ce17dab7949731bdeb5fbace6e10(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d616ce17dab7949731bdeb5fbace6e10(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d616ce17dab7949731bdeb5fbace6e10(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d616ce17dab7949731bdeb5fbace6e10(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d616ce17dab7949731bdeb5fbace6e10(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d616ce17dab7949731bdeb5fbace6e10(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L2_3[] = { +{ 12, 10, 4, genBulletFunc_d616ce17dab7949731bdeb5fbace6e10, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_d616ce17dab7949731bdeb5fbace6e10, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 4, genBulletFunc_d616ce17dab7949731bdeb5fbace6e10, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_d616ce17dab7949731bdeb5fbace6e10, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 4, genBulletFunc_d616ce17dab7949731bdeb5fbace6e10, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_d616ce17dab7949731bdeb5fbace6e10, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 4, genBulletFunc_d616ce17dab7949731bdeb5fbace6e10, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_d616ce17dab7949731bdeb5fbace6e10, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 300 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_857ffb30df4ae1219f2f94987d8254da(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_725cf8416eb13190489c86a3a093aae1(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_857ffb30df4ae1219f2f94987d8254da(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_725cf8416eb13190489c86a3a093aae1(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_857ffb30df4ae1219f2f94987d8254da(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_725cf8416eb13190489c86a3a093aae1(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_857ffb30df4ae1219f2f94987d8254da(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_725cf8416eb13190489c86a3a093aae1(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_857ffb30df4ae1219f2f94987d8254da(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_725cf8416eb13190489c86a3a093aae1(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_444e03c42d0db749411ffb80b473544e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_f107c17d1c894e586e7489862f23d92e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L2_4[] = { +{ 60, 80, 4, genBulletFunc_857ffb30df4ae1219f2f94987d8254da, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 172, 80, 1, genBulletFunc_725cf8416eb13190489c86a3a093aae1, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 60, 80, 4, genBulletFunc_857ffb30df4ae1219f2f94987d8254da, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 172, 80, 1, genBulletFunc_725cf8416eb13190489c86a3a093aae1, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 60, 80, 4, genBulletFunc_857ffb30df4ae1219f2f94987d8254da, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 172, 80, 1, genBulletFunc_725cf8416eb13190489c86a3a093aae1, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 60, 80, 4, genBulletFunc_857ffb30df4ae1219f2f94987d8254da, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 172, 80, 1, genBulletFunc_725cf8416eb13190489c86a3a093aae1, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 60, 80, 4, genBulletFunc_857ffb30df4ae1219f2f94987d8254da, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 172, 80, 1, genBulletFunc_725cf8416eb13190489c86a3a093aae1, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 200 }, +{ 12, 30, 32, genBulletFunc_444e03c42d0db749411ffb80b473544e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 30, 32, genBulletFunc_f107c17d1c894e586e7489862f23d92e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 100 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_d2333f29a4c9742a90a78c7706523640(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_237614aaec8157c2c678e39a91b6f99b(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_9a82ad8bbb831832e2c899e19daaa0d5(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_02dd1bd4f9776189a750840ac63a62e3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_02dd1bd4f9776189a750840ac63a62e3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L2_5[] = { +{ 32, 0, 16, genBulletFunc_d2333f29a4c9742a90a78c7706523640, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 16, genBulletFunc_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 300 }, +{ 12, 0, 16, genBulletFunc_237614aaec8157c2c678e39a91b6f99b, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 0, 16, genBulletFunc_9a82ad8bbb831832e2c899e19daaa0d5, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 300 }, +{ 32, 50, 4, genBulletFunc_02dd1bd4f9776189a750840ac63a62e3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 50, 4, genBulletFunc_02dd1bd4f9776189a750840ac63a62e3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 300 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 22, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 210, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 42, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 190, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 52, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 180, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 62, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 170, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 72, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 160, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 82, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 150, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 92, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 140, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 102, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 130, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 100 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +const BarrageInfo * const listBarrage_L2_all[] = { + listBarrage_L2_1, listBarrage_L2_2, listBarrage_L2_3, listBarrage_L2_4, listBarrage_L2_5, NULL, }; + +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_36341c0e8b8dd3b18492fefc828e7390(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_36341c0e8b8dd3b18492fefc828e7390(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_7964c56f54d5225e5f62ad03d1bd17a1(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_06bbe9313d42a45857295f64293f5f93(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_06bbe9313d42a45857295f64293f5f93(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_2c0732a900d9b3e707056d6023b22ceb(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_59b8e2343c4e9df70d90f97eb1458c37(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_02dd1bd4f9776189a750840ac63a62e3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_02dd1bd4f9776189a750840ac63a62e3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_dec11e16a9f1150c45961315fc55e25c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_dec11e16a9f1150c45961315fc55e25c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L3_1[] = { +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 12, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 3, genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 32, 0, 16, genBulletFunc_36341c0e8b8dd3b18492fefc828e7390, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 16, genBulletFunc_36341c0e8b8dd3b18492fefc828e7390, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 400 }, +{ 116, 30, 32, genBulletFunc_7964c56f54d5225e5f62ad03d1bd17a1, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 300 }, +{ 232, 20, 8, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 60, 8, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 232, 20, 8, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 60, 8, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 232, 20, 8, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 60, 8, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 232, 20, 8, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 60, 8, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 232, 20, 8, genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 60, 8, genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 200 }, +{ 12, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 22, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 210, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 32, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 42, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 190, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 52, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 180, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 62, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 170, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 72, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 160, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 82, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 150, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 92, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 140, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 102, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 130, 0, 8, genBulletFunc_1dce9b78d98783de77dd9c4da10bc546, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 32, 0, 16, genBulletFunc_06bbe9313d42a45857295f64293f5f93, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 16, genBulletFunc_06bbe9313d42a45857295f64293f5f93, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 40, 16, genBulletFunc_2c0732a900d9b3e707056d6023b22ceb, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 40, 16, genBulletFunc_59b8e2343c4e9df70d90f97eb1458c37, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 400 }, +{ 32, 20, 8, genBulletFunc_02dd1bd4f9776189a750840ac63a62e3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 20, 8, genBulletFunc_02dd1bd4f9776189a750840ac63a62e3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 200 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 200 }, +{ 52, 20, 16, genBulletFunc_dec11e16a9f1150c45961315fc55e25c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 180, 20, 16, genBulletFunc_dec11e16a9f1150c45961315fc55e25c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 100 }, +{ 10, 50, 4, genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 222, 50, 4, genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 10, 90, 4, genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 222, 90, 4, genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 10, 130, 4, genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 222, 130, 4, genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 400 }, +{ 0, 0, 0, NULL, ACTIONTYPE_BOSS_ENABLE, 0 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_8992f4049185e5d6d49bff5730ce81d7(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_5db72b392e4f591ce2f87d39746f9aec(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_5db72b392e4f591ce2f87d39746f9aec(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_5db72b392e4f591ce2f87d39746f9aec(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_5db72b392e4f591ce2f87d39746f9aec(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_5db72b392e4f591ce2f87d39746f9aec(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_5db72b392e4f591ce2f87d39746f9aec(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_5db72b392e4f591ce2f87d39746f9aec(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_5db72b392e4f591ce2f87d39746f9aec(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_444e03c42d0db749411ffb80b473544e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_f107c17d1c894e586e7489862f23d92e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_02dd1bd4f9776189a750840ac63a62e3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_02dd1bd4f9776189a750840ac63a62e3(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L3_2[] = { +{ 116, 40, 8, genBulletFunc_8992f4049185e5d6d49bff5730ce81d7, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 116, 60, 8, genBulletFunc_5db72b392e4f591ce2f87d39746f9aec, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 116, 75, 8, genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 116, 90, 8, genBulletFunc_5db72b392e4f591ce2f87d39746f9aec, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 116, 105, 8, genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 116, 120, 8, genBulletFunc_5db72b392e4f591ce2f87d39746f9aec, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 116, 135, 8, genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 20 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 200 }, +{ 12, 35, 8, genBulletFunc_5db72b392e4f591ce2f87d39746f9aec, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 228, 35, 8, genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 12, 60, 8, genBulletFunc_5db72b392e4f591ce2f87d39746f9aec, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 228, 60, 8, genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 12, 85, 8, genBulletFunc_5db72b392e4f591ce2f87d39746f9aec, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 228, 85, 8, genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 12, 110, 8, genBulletFunc_5db72b392e4f591ce2f87d39746f9aec, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 228, 110, 8, genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 12, 135, 8, genBulletFunc_5db72b392e4f591ce2f87d39746f9aec, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 228, 135, 8, genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 300 }, +{ 12, 30, 32, genBulletFunc_444e03c42d0db749411ffb80b473544e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 30, 32, genBulletFunc_f107c17d1c894e586e7489862f23d92e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 100 }, +{ 12, 40, 8, genBulletFunc_02dd1bd4f9776189a750840ac63a62e3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 40, 8, genBulletFunc_02dd1bd4f9776189a750840ac63a62e3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 300 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_c163d0c1eca8e02c382ac06659364b34(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_325b426ff585d06f988aa36ec8788a1e(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_bd7f7947863a9dae4991e3f4e756c141(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L3_3[] = { +{ 12, 40, 8, genBulletFunc_c163d0c1eca8e02c382ac06659364b34, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 40, 8, genBulletFunc_325b426ff585d06f988aa36ec8788a1e, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 450 }, +{ 116, 40, 32, genBulletFunc_bd7f7947863a9dae4991e3f4e756c141, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 32, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 0, 4, genBulletFunc_12db626e647961ec34505eb6a92413f2, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 12, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 4, genBulletFunc_8aedc8195754c4dd651f0a2a5a887566, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 120 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_da3c2a55b270cbe61ada2649019872a0(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_8bfcd38de5961107785fdc25e687ca15(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L3_4[] = { +{ 12, 40, 16, genBulletFunc_da3c2a55b270cbe61ada2649019872a0, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 40, 16, genBulletFunc_8bfcd38de5961107785fdc25e687ca15, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 100 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 116, 30, 16, genBulletFunc_aa380a2a544f70146f42c48fb87db420, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 116, 30, 16, genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 30 }, +{ 102, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 130, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 92, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 140, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 82, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 150, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 72, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 160, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 62, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 170, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 52, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 180, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 42, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 190, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 22, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 210, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 102, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 130, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 92, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 140, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 82, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 150, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 72, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 160, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 62, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 170, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 52, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 180, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 42, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 190, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 22, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 210, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 102, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 130, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 92, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 140, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 82, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 150, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 72, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 160, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 62, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 170, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 52, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 180, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 42, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 190, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 22, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 210, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 102, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 130, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 92, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 140, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 82, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 150, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 72, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 160, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 62, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 170, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 52, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 180, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 42, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 190, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 22, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 210, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 102, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 130, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 92, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 140, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 82, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 150, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 72, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 160, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 62, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 170, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 52, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 180, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 42, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 190, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 22, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 210, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 12, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 220, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 22, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 210, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 32, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 200, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 42, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 190, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 52, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 180, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 62, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 170, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 72, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 160, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 82, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 150, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 92, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 140, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 102, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 130, 10, 16, genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 60 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +BulletInfo *genBulletFunc_fedd858a2a4d5e35be3ee22ffc073e03(FixedPointNum posx, FixedPointNum posy); +BulletInfo *genBulletFunc_fef1923156fe801e24fe2bce452dbdec(FixedPointNum posx, FixedPointNum posy); +const BarrageInfo listBarrage_L3_5[] = { +{ 52, 40, 2, genBulletFunc_fedd858a2a4d5e35be3ee22ffc073e03, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 180, 40, 2, genBulletFunc_fef1923156fe801e24fe2bce452dbdec, ACTIONTYPE_BULLET_NORMAL, 0 }, +{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, 10 }, +{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; + +const BarrageInfo * const listBarrage_L3_all[] = { + listBarrage_L3_1, listBarrage_L3_2, listBarrage_L3_3, listBarrage_L3_4, listBarrage_L3_5, NULL, }; + +#endif diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss0.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss0.cpp new file mode 100644 index 0000000..5f25743 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss0.cpp @@ -0,0 +1,141 @@ +// XXX uniqID XXX 36341c0e8b8dd3b18492fefc828e7390 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss0.hpp" + +extern const BulletStepFunc bullet_f133cfe56d797d92d8aa9c816c67fc6d_36341c0e8b8dd3b18492fefc828e7390[] = { +stepfunc_b587d9b658e1574698c1f30e2a9ced3c_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_ab5073b1a6350cc9ffeec0330d39224a_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_36341c0e8b8dd3b18492fefc828e7390, +NULL}; +void stepfunc_90cd1ede31c644b457c84fe448ce7e6e_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((-(20 * 1.0 * 256 / 360))); p->lastBulletSpeed = p->lastBulletSpeed + (0.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((-(20 * 1.0 * 256 / 360))+(2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((-(20 * 1.0 * 256 / 360))-(2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (((20 * 1.0 * 256 / 360))); p->lastBulletSpeed = p->lastBulletSpeed + (0.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (((20 * 1.0 * 256 / 360))+(2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (((20 * 1.0 * 256 / 360))-(2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_0cde516a188577029bf4338e5541bbcc_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((10 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 35; ++i) { +stepfunc_0cde516a188577029bf4338e5541bbcc_36341c0e8b8dd3b18492fefc828e7390(p);} +p->wait = static_cast(2); +} +void stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p) { +for (u32 i = 0; i < 5; ++i) { +stepfunc_90cd1ede31c644b457c84fe448ce7e6e_36341c0e8b8dd3b18492fefc828e7390(p);} +p->wait = static_cast(30); +} +void stepfunc_b587d9b658e1574698c1f30e2a9ced3c_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 1 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(40); +} +void stepfunc_ab5073b1a6350cc9ffeec0330d39224a_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = 0.1 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(1); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_36341c0e8b8dd3b18492fefc828e7390(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_f133cfe56d797d92d8aa9c816c67fc6d_36341c0e8b8dd3b18492fefc828e7390); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss0.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss0.hpp new file mode 100644 index 0000000..ca871b8 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss0.hpp @@ -0,0 +1,20 @@ +#ifndef GENERATED_4e3ccaa220d3d51dc285126bca610cc0_HPP +#define GENERATED_4e3ccaa220d3d51dc285126bca610cc0_HPP + +#include "bullet.hpp" + +void stepfunc_b587d9b658e1574698c1f30e2a9ced3c_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); +void stepfunc_ab5073b1a6350cc9ffeec0330d39224a_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); +void stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); +void stepfunc_0cde516a188577029bf4338e5541bbcc_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); +void stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); +void stepfunc_90cd1ede31c644b457c84fe448ce7e6e_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); + + +extern const BulletStepFunc bullet_f133cfe56d797d92d8aa9c816c67fc6d_36341c0e8b8dd3b18492fefc828e7390[]; +const unsigned int bullet_f133cfe56d797d92d8aa9c816c67fc6d_36341c0e8b8dd3b18492fefc828e7390_size = 64; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss1.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss1.cpp new file mode 100644 index 0000000..889e2cb --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss1.cpp @@ -0,0 +1,263 @@ +// XXX uniqID XXX 7964c56f54d5225e5f62ad03d1bd17a1 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss1.hpp" + +extern const BulletStepFunc bullet_2af836feb7e950d3c037a94ed09ce4c4_7964c56f54d5225e5f62ad03d1bd17a1[] = { +stepfunc_ff479a891ad38e5c6271b8903a3f341b_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_7964c56f54d5225e5f62ad03d1bd17a1, +NULL}; +void stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((90 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((180 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((270 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + u16 life = static_cast(1); FixedPointNum speed = (4 * 1.0 * 256 / 360);p->setRound(speed, life);} +p->wait = static_cast(1); +} +void stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1(BulletInfo *p) { +p->wait = static_cast(10); +} +void stepfunc_ff479a891ad38e5c6271b8903a3f341b_7964c56f54d5225e5f62ad03d1bd17a1(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 0 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(1); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_7964c56f54d5225e5f62ad03d1bd17a1(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_7964c56f54d5225e5f62ad03d1bd17a1(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_2af836feb7e950d3c037a94ed09ce4c4_7964c56f54d5225e5f62ad03d1bd17a1); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss1.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss1.hpp new file mode 100644 index 0000000..7db0114 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss1.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_b01e02e2466b44bb72a4e39adbd4503d_HPP +#define GENERATED_b01e02e2466b44bb72a4e39adbd4503d_HPP + +#include "bullet.hpp" + +void stepfunc_ff479a891ad38e5c6271b8903a3f341b_7964c56f54d5225e5f62ad03d1bd17a1(BulletInfo *p); +void stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1(BulletInfo *p); +void stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_7964c56f54d5225e5f62ad03d1bd17a1(BulletInfo *p); + + +extern const BulletStepFunc bullet_2af836feb7e950d3c037a94ed09ce4c4_7964c56f54d5225e5f62ad03d1bd17a1[]; +const unsigned int bullet_2af836feb7e950d3c037a94ed09ce4c4_7964c56f54d5225e5f62ad03d1bd17a1_size = 213; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss10.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss10.cpp new file mode 100644 index 0000000..dad5bd7 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss10.cpp @@ -0,0 +1,703 @@ +// XXX uniqID XXX 93f0c952a1e5c566defd84f3fa39b3a3 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss10.hpp" + +extern const BulletStepFunc bullet_3bf2fe92c853a0b8532256fdc4cd8974_93f0c952a1e5c566defd84f3fa39b3a3[] = { +stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_e9ec35a8b787bec56122ddc769b9f643_93f0c952a1e5c566defd84f3fa39b3a3, +NULL}; +extern const BulletStepFunc bullet_87b6e409c1dbd8cf810ead90901af559_93f0c952a1e5c566defd84f3fa39b3a3[] = { +stepfunc_f5a5b174ac927df596a7415eb8e38ffc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_0e6b9221191b393a92fed534b357420d_93f0c952a1e5c566defd84f3fa39b3a3, +NULL}; +extern const BulletStepFunc bullet_efe4b594adcf99ab39c1bd42bf69b85a_93f0c952a1e5c566defd84f3fa39b3a3[] = { +stepfunc_0316f4e34e14987884f6823595bf2bda_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_fddccad3a4269a6062fda865a05f419c_93f0c952a1e5c566defd84f3fa39b3a3, +NULL}; +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = -(-(90 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (-(90 * 1.0 * 256 / 360));p->setRound(speed, life);} +} +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = -((90 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_0e6b9221191b393a92fed534b357420d_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = ((90 * 1.0 * 256 / 360));p->setRound(speed, life);} +} +void stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + (((180 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_87b6e409c1dbd8cf810ead90901af559_93f0c952a1e5c566defd84f3fa39b3a3); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((180 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + (((180 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_3bf2fe92c853a0b8532256fdc4cd8974_93f0c952a1e5c566defd84f3fa39b3a3); + } +} +p->wait = static_cast(3); +} +void stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p) { +p->wait = static_cast(20); +} +void stepfunc_0316f4e34e14987884f6823595bf2bda_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p) { +{ + u16 life = static_cast(9999); FixedPointNum speed = (1 * 1.0 * 256 / 360);p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 1 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(60); +} +void stepfunc_fddccad3a4269a6062fda865a05f419c_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_93f0c952a1e5c566defd84f3fa39b3a3(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_efe4b594adcf99ab39c1bd42bf69b85a_93f0c952a1e5c566defd84f3fa39b3a3); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss10.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss10.hpp new file mode 100644 index 0000000..02c3207 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss10.hpp @@ -0,0 +1,25 @@ +#ifndef GENERATED_941e41a9be1747894953cd39550a36b7_HPP +#define GENERATED_941e41a9be1747894953cd39550a36b7_HPP + +#include "bullet.hpp" + +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_0e6b9221191b393a92fed534b357420d_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_0316f4e34e14987884f6823595bf2bda_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); + + +extern const BulletStepFunc bullet_3bf2fe92c853a0b8532256fdc4cd8974_93f0c952a1e5c566defd84f3fa39b3a3[]; +const unsigned int bullet_3bf2fe92c853a0b8532256fdc4cd8974_93f0c952a1e5c566defd84f3fa39b3a3_size = 3; +extern const BulletStepFunc bullet_87b6e409c1dbd8cf810ead90901af559_93f0c952a1e5c566defd84f3fa39b3a3[]; +const unsigned int bullet_87b6e409c1dbd8cf810ead90901af559_93f0c952a1e5c566defd84f3fa39b3a3_size = 3; +extern const BulletStepFunc bullet_efe4b594adcf99ab39c1bd42bf69b85a_93f0c952a1e5c566defd84f3fa39b3a3[]; +const unsigned int bullet_efe4b594adcf99ab39c1bd42bf69b85a_93f0c952a1e5c566defd84f3fa39b3a3_size = 633; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss2.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss2.cpp new file mode 100644 index 0000000..37b5914 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss2.cpp @@ -0,0 +1,101 @@ +// XXX uniqID XXX 06bbe9313d42a45857295f64293f5f93 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss2.hpp" + +extern const BulletStepFunc bullet_73cfb880b522d7f0c1a5d91d0c166c50_06bbe9313d42a45857295f64293f5f93[] = { +stepfunc_45365fa1d225374d0027179aa02044d9_06bbe9313d42a45857295f64293f5f93, +stepfunc_c2db9f05d4f182941e7e9906f14f63c0_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_06bbe9313d42a45857295f64293f5f93, +NULL}; +void stepfunc_f8065ac21976556042f7f909fa003d88_06bbe9313d42a45857295f64293f5f93(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((4 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(4 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((6 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(6 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((8 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(8 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 5; ++i) { +stepfunc_f8065ac21976556042f7f909fa003d88_06bbe9313d42a45857295f64293f5f93(p);} +p->wait = static_cast(60); +} +void stepfunc_45365fa1d225374d0027179aa02044d9_06bbe9313d42a45857295f64293f5f93(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 1 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(30); +} +void stepfunc_c2db9f05d4f182941e7e9906f14f63c0_06bbe9313d42a45857295f64293f5f93(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = 0 - p->getSpeed();p->setAccel(speed, life);} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_06bbe9313d42a45857295f64293f5f93(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_06bbe9313d42a45857295f64293f5f93(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_73cfb880b522d7f0c1a5d91d0c166c50_06bbe9313d42a45857295f64293f5f93); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss2.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss2.hpp new file mode 100644 index 0000000..7eaa55b --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss2.hpp @@ -0,0 +1,18 @@ +#ifndef GENERATED_bbd1bc4009af2983b7426383df14aea5_HPP +#define GENERATED_bbd1bc4009af2983b7426383df14aea5_HPP + +#include "bullet.hpp" + +void stepfunc_45365fa1d225374d0027179aa02044d9_06bbe9313d42a45857295f64293f5f93(BulletInfo *p); +void stepfunc_c2db9f05d4f182941e7e9906f14f63c0_06bbe9313d42a45857295f64293f5f93(BulletInfo *p); +void stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93(BulletInfo *p); +void stepfunc_f8065ac21976556042f7f909fa003d88_06bbe9313d42a45857295f64293f5f93(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_06bbe9313d42a45857295f64293f5f93(BulletInfo *p); + + +extern const BulletStepFunc bullet_73cfb880b522d7f0c1a5d91d0c166c50_06bbe9313d42a45857295f64293f5f93[]; +const unsigned int bullet_73cfb880b522d7f0c1a5d91d0c166c50_06bbe9313d42a45857295f64293f5f93_size = 24; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss3-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss3-left.cpp new file mode 100644 index 0000000..5332a09 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss3-left.cpp @@ -0,0 +1,1655 @@ +// XXX uniqID XXX 325b426ff585d06f988aa36ec8788a1e XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss3-left.hpp" + +extern const BulletStepFunc bullet_4abaf393c89587751eb6d493d3f70983_325b426ff585d06f988aa36ec8788a1e[] = { +stepfunc_c9fbc7ebc4e7519a079ed50193da18c1_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_325b426ff585d06f988aa36ec8788a1e, +NULL}; +void stepfunc_5f0e1fd0be52e72001931ccb9cf1c2f8_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((6 * 1.0 * 256 / 360)); p->lastBulletSpeed = (3); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (3); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 5; ++i) { +stepfunc_5f0e1fd0be52e72001931ccb9cf1c2f8_325b426ff585d06f988aa36ec8788a1e(p);} +{ + u16 life = static_cast(1); FixedPointNum speed = (-(1 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(3); +} +void stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (3); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 5; ++i) { +stepfunc_5f0e1fd0be52e72001931ccb9cf1c2f8_325b426ff585d06f988aa36ec8788a1e(p);} +{ + u16 life = static_cast(1); FixedPointNum speed = ((1 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(3); +} +void stepfunc_c9fbc7ebc4e7519a079ed50193da18c1_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((160 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_325b426ff585d06f988aa36ec8788a1e(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_4abaf393c89587751eb6d493d3f70983_325b426ff585d06f988aa36ec8788a1e); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss3-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss3-left.hpp new file mode 100644 index 0000000..3ef0b3d --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss3-left.hpp @@ -0,0 +1,18 @@ +#ifndef GENERATED_3e76c3effa46fc0a3d819ca95a068aff_HPP +#define GENERATED_3e76c3effa46fc0a3d819ca95a068aff_HPP + +#include "bullet.hpp" + +void stepfunc_c9fbc7ebc4e7519a079ed50193da18c1_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p); +void stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p); +void stepfunc_5f0e1fd0be52e72001931ccb9cf1c2f8_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p); +void stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p); + + +extern const BulletStepFunc bullet_4abaf393c89587751eb6d493d3f70983_325b426ff585d06f988aa36ec8788a1e[]; +const unsigned int bullet_4abaf393c89587751eb6d493d3f70983_325b426ff585d06f988aa36ec8788a1e_size = 1603; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss3-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss3-right.cpp new file mode 100644 index 0000000..96e7441 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss3-right.cpp @@ -0,0 +1,1655 @@ +// XXX uniqID XXX c163d0c1eca8e02c382ac06659364b34 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss3-right.hpp" + +extern const BulletStepFunc bullet_f9993b0513e93098fab121891b23ea6d_c163d0c1eca8e02c382ac06659364b34[] = { +stepfunc_4fa44cf997ce9b24022060f4c792dd11_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_c163d0c1eca8e02c382ac06659364b34, +NULL}; +void stepfunc_f577f4e20d6385049154ba23f048ad4d_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + (-(6 * 1.0 * 256 / 360)); p->lastBulletSpeed = (3); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (3); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 5; ++i) { +stepfunc_f577f4e20d6385049154ba23f048ad4d_c163d0c1eca8e02c382ac06659364b34(p);} +{ + u16 life = static_cast(1); FixedPointNum speed = ((1 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(3); +} +void stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (3); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 5; ++i) { +stepfunc_f577f4e20d6385049154ba23f048ad4d_c163d0c1eca8e02c382ac06659364b34(p);} +{ + u16 life = static_cast(1); FixedPointNum speed = (-(1 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(3); +} +void stepfunc_4fa44cf997ce9b24022060f4c792dd11_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((200 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_c163d0c1eca8e02c382ac06659364b34(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_f9993b0513e93098fab121891b23ea6d_c163d0c1eca8e02c382ac06659364b34); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss3-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss3-right.hpp new file mode 100644 index 0000000..522a608 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss3-right.hpp @@ -0,0 +1,18 @@ +#ifndef GENERATED_acbc40654249b50f7eed34286135cccc_HPP +#define GENERATED_acbc40654249b50f7eed34286135cccc_HPP + +#include "bullet.hpp" + +void stepfunc_4fa44cf997ce9b24022060f4c792dd11_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p); +void stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p); +void stepfunc_f577f4e20d6385049154ba23f048ad4d_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p); +void stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p); + + +extern const BulletStepFunc bullet_f9993b0513e93098fab121891b23ea6d_c163d0c1eca8e02c382ac06659364b34[]; +const unsigned int bullet_f9993b0513e93098fab121891b23ea6d_c163d0c1eca8e02c382ac06659364b34_size = 1603; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss4.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss4.cpp new file mode 100644 index 0000000..33e5ba4 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss4.cpp @@ -0,0 +1,303 @@ +// XXX uniqID XXX bd7f7947863a9dae4991e3f4e756c141 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss4.hpp" + +extern const BulletStepFunc bullet_9bf54119cb69d6c1ae966de6239697dc_bd7f7947863a9dae4991e3f4e756c141[] = { +stepfunc_edad9eb0530cd8f1854627ea7800ba42_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_b012f165c3ed92badaf5fbdde484e240_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_d8c03b6b121b1cc1078c96a88e554964_bd7f7947863a9dae4991e3f4e756c141, +NULL}; +extern const BulletStepFunc bullet_6022fe41498322d7403839e9dab5c319_bd7f7947863a9dae4991e3f4e756c141[] = { +stepfunc_bc22530ba7cc7020d0e2d282fa281479_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_b012f165c3ed92badaf5fbdde484e240_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_d8c03b6b121b1cc1078c96a88e554964_bd7f7947863a9dae4991e3f4e756c141, +NULL}; +extern const BulletStepFunc bullet_aaa56f971396af7dcab9753fa9f39973_bd7f7947863a9dae4991e3f4e756c141[] = { +stepfunc_4abf70eeed0113d66a150639bd1666ec_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_b012f165c3ed92badaf5fbdde484e240_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_d8c03b6b121b1cc1078c96a88e554964_bd7f7947863a9dae4991e3f4e756c141, +NULL}; +extern const BulletStepFunc bullet_fb017cff06553e78056155bfee976341_bd7f7947863a9dae4991e3f4e756c141[] = { +stepfunc_e104953b37e2f94e6c6ca77b6ad7d99b_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_b012f165c3ed92badaf5fbdde484e240_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_d8c03b6b121b1cc1078c96a88e554964_bd7f7947863a9dae4991e3f4e756c141, +NULL}; +extern const BulletStepFunc bullet_c14591504d46feb5183b04dde6a629e0_bd7f7947863a9dae4991e3f4e756c141[] = { +stepfunc_787c9289c54883ed836a061a169f9db0_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_b012f165c3ed92badaf5fbdde484e240_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_d8c03b6b121b1cc1078c96a88e554964_bd7f7947863a9dae4991e3f4e756c141, +NULL}; +extern const BulletStepFunc bullet_80d24ef212420a948cbbb71834b07362_bd7f7947863a9dae4991e3f4e756c141[] = { +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_bd7f7947863a9dae4991e3f4e756c141, +NULL}; +void stepfunc_edad9eb0530cd8f1854627ea7800ba42_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p) { +p->wait = static_cast((5)*2); +} +void stepfunc_b012f165c3ed92badaf5fbdde484e240_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = 2 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(30); +} +void stepfunc_d8c03b6b121b1cc1078c96a88e554964_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 4 - p->getSpeed();p->setAccel(speed, life);} +} +void stepfunc_bc22530ba7cc7020d0e2d282fa281479_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p) { +p->wait = static_cast((4)*2); +} +void stepfunc_4abf70eeed0113d66a150639bd1666ec_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p) { +p->wait = static_cast((3)*2); +} +void stepfunc_e104953b37e2f94e6c6ca77b6ad7d99b_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p) { +p->wait = static_cast((2)*2); +} +void stepfunc_787c9289c54883ed836a061a169f9db0_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p) { +p->wait = static_cast((1)*2); +} +void stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (((120 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((120 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_c14591504d46feb5183b04dde6a629e0_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((120 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_fb017cff06553e78056155bfee976341_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((120 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_aaa56f971396af7dcab9753fa9f39973_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((120 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_6022fe41498322d7403839e9dab5c319_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((120 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_9bf54119cb69d6c1ae966de6239697dc_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (((140 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((140 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_c14591504d46feb5183b04dde6a629e0_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((140 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_fb017cff06553e78056155bfee976341_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((140 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_aaa56f971396af7dcab9753fa9f39973_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((140 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_6022fe41498322d7403839e9dab5c319_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((140 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_9bf54119cb69d6c1ae966de6239697dc_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (((160 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((160 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_c14591504d46feb5183b04dde6a629e0_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((160 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_fb017cff06553e78056155bfee976341_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((160 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_aaa56f971396af7dcab9753fa9f39973_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((160 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_6022fe41498322d7403839e9dab5c319_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((160 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_9bf54119cb69d6c1ae966de6239697dc_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (((180 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((180 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_c14591504d46feb5183b04dde6a629e0_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((180 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_fb017cff06553e78056155bfee976341_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((180 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_aaa56f971396af7dcab9753fa9f39973_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((180 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_6022fe41498322d7403839e9dab5c319_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((180 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_9bf54119cb69d6c1ae966de6239697dc_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (((200 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((200 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_c14591504d46feb5183b04dde6a629e0_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((200 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_fb017cff06553e78056155bfee976341_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((200 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_aaa56f971396af7dcab9753fa9f39973_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((200 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_6022fe41498322d7403839e9dab5c319_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((200 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_9bf54119cb69d6c1ae966de6239697dc_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (((220 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((220 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_c14591504d46feb5183b04dde6a629e0_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((220 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_fb017cff06553e78056155bfee976341_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((220 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_aaa56f971396af7dcab9753fa9f39973_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((220 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_6022fe41498322d7403839e9dab5c319_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((220 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_9bf54119cb69d6c1ae966de6239697dc_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (((240 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((240 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_c14591504d46feb5183b04dde6a629e0_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((240 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_fb017cff06553e78056155bfee976341_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((240 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_aaa56f971396af7dcab9753fa9f39973_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((240 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_6022fe41498322d7403839e9dab5c319_bd7f7947863a9dae4991e3f4e756c141); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((240 * 1.0 * 256 / 360)))); p->lastBulletSpeed = (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_9bf54119cb69d6c1ae966de6239697dc_bd7f7947863a9dae4991e3f4e756c141); + } +} +p->wait = static_cast(30); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_bd7f7947863a9dae4991e3f4e756c141(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_80d24ef212420a948cbbb71834b07362_bd7f7947863a9dae4991e3f4e756c141); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss4.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss4.hpp new file mode 100644 index 0000000..4b1928b --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss4.hpp @@ -0,0 +1,32 @@ +#ifndef GENERATED_ec00ad2bb4ea122a20aa282a443c9de5_HPP +#define GENERATED_ec00ad2bb4ea122a20aa282a443c9de5_HPP + +#include "bullet.hpp" + +void stepfunc_edad9eb0530cd8f1854627ea7800ba42_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_b012f165c3ed92badaf5fbdde484e240_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_d8c03b6b121b1cc1078c96a88e554964_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_bc22530ba7cc7020d0e2d282fa281479_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_4abf70eeed0113d66a150639bd1666ec_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_e104953b37e2f94e6c6ca77b6ad7d99b_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_787c9289c54883ed836a061a169f9db0_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); + + +extern const BulletStepFunc bullet_9bf54119cb69d6c1ae966de6239697dc_bd7f7947863a9dae4991e3f4e756c141[]; +const unsigned int bullet_9bf54119cb69d6c1ae966de6239697dc_bd7f7947863a9dae4991e3f4e756c141_size = 4; +extern const BulletStepFunc bullet_6022fe41498322d7403839e9dab5c319_bd7f7947863a9dae4991e3f4e756c141[]; +const unsigned int bullet_6022fe41498322d7403839e9dab5c319_bd7f7947863a9dae4991e3f4e756c141_size = 4; +extern const BulletStepFunc bullet_aaa56f971396af7dcab9753fa9f39973_bd7f7947863a9dae4991e3f4e756c141[]; +const unsigned int bullet_aaa56f971396af7dcab9753fa9f39973_bd7f7947863a9dae4991e3f4e756c141_size = 4; +extern const BulletStepFunc bullet_fb017cff06553e78056155bfee976341_bd7f7947863a9dae4991e3f4e756c141[]; +const unsigned int bullet_fb017cff06553e78056155bfee976341_bd7f7947863a9dae4991e3f4e756c141_size = 4; +extern const BulletStepFunc bullet_c14591504d46feb5183b04dde6a629e0_bd7f7947863a9dae4991e3f4e756c141[]; +const unsigned int bullet_c14591504d46feb5183b04dde6a629e0_bd7f7947863a9dae4991e3f4e756c141_size = 4; +extern const BulletStepFunc bullet_80d24ef212420a948cbbb71834b07362_bd7f7947863a9dae4991e3f4e756c141[]; +const unsigned int bullet_80d24ef212420a948cbbb71834b07362_bd7f7947863a9dae4991e3f4e756c141_size = 62; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss5-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss5-left.cpp new file mode 100644 index 0000000..5496461 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss5-left.cpp @@ -0,0 +1,2201 @@ +// XXX uniqID XXX 8bfcd38de5961107785fdc25e687ca15 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss5-left.hpp" + +extern const BulletStepFunc bullet_7381bc6f43eb422d458a2239f53566ea_8bfcd38de5961107785fdc25e687ca15[] = { +stepfunc_efe2c0d124d296be77286f5d11e9f0b8_8bfcd38de5961107785fdc25e687ca15, +stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_8bfcd38de5961107785fdc25e687ca15, +NULL}; +extern const BulletStepFunc bullet_7ec1b7e792d02c73be80cb4c5cc56a1c_8bfcd38de5961107785fdc25e687ca15[] = { +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_8bfcd38de5961107785fdc25e687ca15, +NULL}; +void stepfunc_efe2c0d124d296be77286f5d11e9f0b8_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p) { +p->wait = (20*FixedPointNum::random()).toInt(); +} +void stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +} +void stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + (-(3 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_7381bc6f43eb422d458a2239f53566ea_8bfcd38de5961107785fdc25e687ca15); + } +} +} +void stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p) { +p->wait = static_cast(3); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_8bfcd38de5961107785fdc25e687ca15(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_7ec1b7e792d02c73be80cb4c5cc56a1c_8bfcd38de5961107785fdc25e687ca15); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss5-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss5-left.hpp new file mode 100644 index 0000000..9e0ab65 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss5-left.hpp @@ -0,0 +1,20 @@ +#ifndef GENERATED_cf14360fc2c5e9e109518301055a02c3_HPP +#define GENERATED_cf14360fc2c5e9e109518301055a02c3_HPP + +#include "bullet.hpp" + +void stepfunc_efe2c0d124d296be77286f5d11e9f0b8_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p); +void stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p); +void stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p); +void stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p); + + +extern const BulletStepFunc bullet_7381bc6f43eb422d458a2239f53566ea_8bfcd38de5961107785fdc25e687ca15[]; +const unsigned int bullet_7381bc6f43eb422d458a2239f53566ea_8bfcd38de5961107785fdc25e687ca15_size = 3; +extern const BulletStepFunc bullet_7ec1b7e792d02c73be80cb4c5cc56a1c_8bfcd38de5961107785fdc25e687ca15[]; +const unsigned int bullet_7ec1b7e792d02c73be80cb4c5cc56a1c_8bfcd38de5961107785fdc25e687ca15_size = 2162; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss5-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss5-right.cpp new file mode 100644 index 0000000..71bffa0 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss5-right.cpp @@ -0,0 +1,2201 @@ +// XXX uniqID XXX da3c2a55b270cbe61ada2649019872a0 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss5-right.hpp" + +extern const BulletStepFunc bullet_a4bad85e4587f5e7736224afd51f0a05_da3c2a55b270cbe61ada2649019872a0[] = { +stepfunc_efe2c0d124d296be77286f5d11e9f0b8_da3c2a55b270cbe61ada2649019872a0, +stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_da3c2a55b270cbe61ada2649019872a0, +NULL}; +extern const BulletStepFunc bullet_b336a90455c11167059f131bf0d47d6c_da3c2a55b270cbe61ada2649019872a0[] = { +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_da3c2a55b270cbe61ada2649019872a0, +NULL}; +void stepfunc_efe2c0d124d296be77286f5d11e9f0b8_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p) { +p->wait = (20*FixedPointNum::random()).toInt(); +} +void stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +} +void stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((3 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_a4bad85e4587f5e7736224afd51f0a05_da3c2a55b270cbe61ada2649019872a0); + } +} +} +void stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p) { +p->wait = static_cast(3); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_da3c2a55b270cbe61ada2649019872a0(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_b336a90455c11167059f131bf0d47d6c_da3c2a55b270cbe61ada2649019872a0); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss5-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss5-right.hpp new file mode 100644 index 0000000..07b5a0d --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss5-right.hpp @@ -0,0 +1,20 @@ +#ifndef GENERATED_d3ad58166ff1fc5d2ff857b8722f19ec_HPP +#define GENERATED_d3ad58166ff1fc5d2ff857b8722f19ec_HPP + +#include "bullet.hpp" + +void stepfunc_efe2c0d124d296be77286f5d11e9f0b8_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p); +void stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p); +void stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p); +void stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p); + + +extern const BulletStepFunc bullet_a4bad85e4587f5e7736224afd51f0a05_da3c2a55b270cbe61ada2649019872a0[]; +const unsigned int bullet_a4bad85e4587f5e7736224afd51f0a05_da3c2a55b270cbe61ada2649019872a0_size = 3; +extern const BulletStepFunc bullet_b336a90455c11167059f131bf0d47d6c_da3c2a55b270cbe61ada2649019872a0[]; +const unsigned int bullet_b336a90455c11167059f131bf0d47d6c_da3c2a55b270cbe61ada2649019872a0_size = 2162; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss6.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss6.cpp new file mode 100644 index 0000000..60020b5 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss6.cpp @@ -0,0 +1,344 @@ +// XXX uniqID XXX b96cacf384b7371a18153dbb611dbf2f XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss6.hpp" + +extern const BulletStepFunc bullet_80777900aecda62db38f30ea0d3dd424_b96cacf384b7371a18153dbb611dbf2f[] = { +stepfunc_828aad5c654f274364631801f59cac21_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_fddccad3a4269a6062fda865a05f419c_b96cacf384b7371a18153dbb611dbf2f, +NULL}; +void stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((2 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(2 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(3); +} +void stepfunc_828aad5c654f274364631801f59cac21_b96cacf384b7371a18153dbb611dbf2f(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = 2 - p->getSpeed();p->setAccel(speed, life);} +{ + u16 life = static_cast(9999); FixedPointNum speed = (3 * 1.0 * 256 / 360);p->setRound(speed, life);} +p->wait = static_cast(30); +} +void stepfunc_fddccad3a4269a6062fda865a05f419c_b96cacf384b7371a18153dbb611dbf2f(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_b96cacf384b7371a18153dbb611dbf2f(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_80777900aecda62db38f30ea0d3dd424_b96cacf384b7371a18153dbb611dbf2f); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss6.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss6.hpp new file mode 100644 index 0000000..6d6e201 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss6.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_a4212426e09163426c813cbc2dfeb844_HPP +#define GENERATED_a4212426e09163426c813cbc2dfeb844_HPP + +#include "bullet.hpp" + +void stepfunc_828aad5c654f274364631801f59cac21_b96cacf384b7371a18153dbb611dbf2f(BulletInfo *p); +void stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_b96cacf384b7371a18153dbb611dbf2f(BulletInfo *p); + + +extern const BulletStepFunc bullet_80777900aecda62db38f30ea0d3dd424_b96cacf384b7371a18153dbb611dbf2f[]; +const unsigned int bullet_80777900aecda62db38f30ea0d3dd424_b96cacf384b7371a18153dbb611dbf2f_size = 303; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss7.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss7.cpp new file mode 100644 index 0000000..acf19bf --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss7.cpp @@ -0,0 +1,520 @@ +// XXX uniqID XXX 1ca95cbf6fecc58fbb1e3f826fc3545b XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss7.hpp" + +extern const BulletStepFunc bullet_3f6978e2ab09066f36df0278f9e94488_1ca95cbf6fecc58fbb1e3f826fc3545b[] = { +stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_e9ec35a8b787bec56122ddc769b9f643_1ca95cbf6fecc58fbb1e3f826fc3545b, +NULL}; +extern const BulletStepFunc bullet_cfd4373f44311ddcc03443e372ceba9a_1ca95cbf6fecc58fbb1e3f826fc3545b[] = { +stepfunc_f5a5b174ac927df596a7415eb8e38ffc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_0e6b9221191b393a92fed534b357420d_1ca95cbf6fecc58fbb1e3f826fc3545b, +NULL}; +extern const BulletStepFunc bullet_766a2bc059007351f053124e797b1904_1ca95cbf6fecc58fbb1e3f826fc3545b[] = { +stepfunc_fc051a4b3f431d7c2e880492117c692f_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_1ca95cbf6fecc58fbb1e3f826fc3545b, +NULL}; +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = -(-(90 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (-(90 * 1.0 * 256 / 360));p->setRound(speed, life);} +} +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = -((90 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_0e6b9221191b393a92fed534b357420d_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = ((90 * 1.0 * 256 / 360));p->setRound(speed, life);} +} +void stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_cfd4373f44311ddcc03443e372ceba9a_1ca95cbf6fecc58fbb1e3f826fc3545b); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_3f6978e2ab09066f36df0278f9e94488_1ca95cbf6fecc58fbb1e3f826fc3545b); + } +} +p->wait = static_cast(3); +} +void stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(3); +} +void stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p) { +p->wait = static_cast(20); +} +void stepfunc_fc051a4b3f431d7c2e880492117c692f_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 0.1 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(1); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_1ca95cbf6fecc58fbb1e3f826fc3545b(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_766a2bc059007351f053124e797b1904_1ca95cbf6fecc58fbb1e3f826fc3545b); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss7.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss7.hpp new file mode 100644 index 0000000..31e8fff --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss7.hpp @@ -0,0 +1,26 @@ +#ifndef GENERATED_8b95cdb8a2e29d2ecd55c5810482607f_HPP +#define GENERATED_8b95cdb8a2e29d2ecd55c5810482607f_HPP + +#include "bullet.hpp" + +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_0e6b9221191b393a92fed534b357420d_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_fc051a4b3f431d7c2e880492117c692f_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); + + +extern const BulletStepFunc bullet_3f6978e2ab09066f36df0278f9e94488_1ca95cbf6fecc58fbb1e3f826fc3545b[]; +const unsigned int bullet_3f6978e2ab09066f36df0278f9e94488_1ca95cbf6fecc58fbb1e3f826fc3545b_size = 3; +extern const BulletStepFunc bullet_cfd4373f44311ddcc03443e372ceba9a_1ca95cbf6fecc58fbb1e3f826fc3545b[]; +const unsigned int bullet_cfd4373f44311ddcc03443e372ceba9a_1ca95cbf6fecc58fbb1e3f826fc3545b_size = 3; +extern const BulletStepFunc bullet_766a2bc059007351f053124e797b1904_1ca95cbf6fecc58fbb1e3f826fc3545b[]; +const unsigned int bullet_766a2bc059007351f053124e797b1904_1ca95cbf6fecc58fbb1e3f826fc3545b_size = 443; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss8-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss8-left.cpp new file mode 100644 index 0000000..c406394 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss8-left.cpp @@ -0,0 +1,1267 @@ +// XXX uniqID XXX 9d6b1ba2c20c012b7d7b7fad6fdc0ee3 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss8-left.hpp" + +extern const BulletStepFunc bullet_641f89460c5218c50cafc548924a14c1_9d6b1ba2c20c012b7d7b7fad6fdc0ee3[] = { +stepfunc_a82599f300e4b150f54085b7056bd26d_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_c2db9f05d4f182941e7e9906f14f63c0_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +NULL}; +void stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + (-(4 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(1); +} +void stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_a82599f300e4b150f54085b7056bd26d_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 2 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(30); +} +void stepfunc_c2db9f05d4f182941e7e9906f14f63c0_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = 0 - p->getSpeed();p->setAccel(speed, life);} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_641f89460c5218c50cafc548924a14c1_9d6b1ba2c20c012b7d7b7fad6fdc0ee3); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss8-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss8-left.hpp new file mode 100644 index 0000000..0d39892 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss8-left.hpp @@ -0,0 +1,18 @@ +#ifndef GENERATED_05ef5302a82b6dbfde25d01c95536abb_HPP +#define GENERATED_05ef5302a82b6dbfde25d01c95536abb_HPP + +#include "bullet.hpp" + +void stepfunc_a82599f300e4b150f54085b7056bd26d_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p); +void stepfunc_c2db9f05d4f182941e7e9906f14f63c0_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p); +void stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p); +void stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p); + + +extern const BulletStepFunc bullet_641f89460c5218c50cafc548924a14c1_9d6b1ba2c20c012b7d7b7fad6fdc0ee3[]; +const unsigned int bullet_641f89460c5218c50cafc548924a14c1_9d6b1ba2c20c012b7d7b7fad6fdc0ee3_size = 1224; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss8-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss8-right.cpp new file mode 100644 index 0000000..206f673 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss8-right.cpp @@ -0,0 +1,1267 @@ +// XXX uniqID XXX d2333f29a4c9742a90a78c7706523640 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss8-right.hpp" + +extern const BulletStepFunc bullet_9d9f287906e0540e2a8dc3a6d1211be4_d2333f29a4c9742a90a78c7706523640[] = { +stepfunc_a82599f300e4b150f54085b7056bd26d_d2333f29a4c9742a90a78c7706523640, +stepfunc_c2db9f05d4f182941e7e9906f14f63c0_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_d2333f29a4c9742a90a78c7706523640, +NULL}; +void stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((4 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(1); +} +void stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_a82599f300e4b150f54085b7056bd26d_d2333f29a4c9742a90a78c7706523640(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 2 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(30); +} +void stepfunc_c2db9f05d4f182941e7e9906f14f63c0_d2333f29a4c9742a90a78c7706523640(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = 0 - p->getSpeed();p->setAccel(speed, life);} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_d2333f29a4c9742a90a78c7706523640(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_d2333f29a4c9742a90a78c7706523640(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_9d9f287906e0540e2a8dc3a6d1211be4_d2333f29a4c9742a90a78c7706523640); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss8-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss8-right.hpp new file mode 100644 index 0000000..e34fc9d --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss8-right.hpp @@ -0,0 +1,18 @@ +#ifndef GENERATED_997444223ccd5d9f0291ad80bf905371_HPP +#define GENERATED_997444223ccd5d9f0291ad80bf905371_HPP + +#include "bullet.hpp" + +void stepfunc_a82599f300e4b150f54085b7056bd26d_d2333f29a4c9742a90a78c7706523640(BulletInfo *p); +void stepfunc_c2db9f05d4f182941e7e9906f14f63c0_d2333f29a4c9742a90a78c7706523640(BulletInfo *p); +void stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640(BulletInfo *p); +void stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_d2333f29a4c9742a90a78c7706523640(BulletInfo *p); + + +extern const BulletStepFunc bullet_9d9f287906e0540e2a8dc3a6d1211be4_d2333f29a4c9742a90a78c7706523640[]; +const unsigned int bullet_9d9f287906e0540e2a8dc3a6d1211be4_d2333f29a4c9742a90a78c7706523640_size = 1224; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss9.cpp b/vulkanon/generator/data/code/vulkanon/l0_boss9.cpp new file mode 100644 index 0000000..0cdc196 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss9.cpp @@ -0,0 +1,715 @@ +// XXX uniqID XXX 34ea1a195216339fa1c1aeb217396b04 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_boss9.hpp" + +extern const BulletStepFunc bullet_5f2bd36a072e36671de264875cf5d5d2_34ea1a195216339fa1c1aeb217396b04[] = { +stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e9ec35a8b787bec56122ddc769b9f643_34ea1a195216339fa1c1aeb217396b04, +NULL}; +extern const BulletStepFunc bullet_234e4d5975669afdde8f5356cd7ca7fc_34ea1a195216339fa1c1aeb217396b04[] = { +stepfunc_f5a5b174ac927df596a7415eb8e38ffc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_0e6b9221191b393a92fed534b357420d_34ea1a195216339fa1c1aeb217396b04, +NULL}; +extern const BulletStepFunc bullet_943fea1dfc1e15b65ef4a9d5545c9272_34ea1a195216339fa1c1aeb217396b04[] = { +stepfunc_9cb568481acabe3ca9dd128ec7578254_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_fddccad3a4269a6062fda865a05f419c_34ea1a195216339fa1c1aeb217396b04, +NULL}; +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = -(-(90 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (-(90 * 1.0 * 256 / 360));p->setRound(speed, life);} +} +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = -((90 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_0e6b9221191b393a92fed534b357420d_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = ((90 * 1.0 * 256 / 360));p->setRound(speed, life);} +} +void stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + (((0 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_234e4d5975669afdde8f5356cd7ca7fc_34ea1a195216339fa1c1aeb217396b04); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + (((0 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_5f2bd36a072e36671de264875cf5d5d2_34ea1a195216339fa1c1aeb217396b04); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + (((180 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_234e4d5975669afdde8f5356cd7ca7fc_34ea1a195216339fa1c1aeb217396b04); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((180 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + (((180 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_5f2bd36a072e36671de264875cf5d5d2_34ea1a195216339fa1c1aeb217396b04); + } +} +p->wait = static_cast(3); +} +void stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p) { +p->wait = static_cast(20); +} +void stepfunc_9cb568481acabe3ca9dd128ec7578254_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p) { +{ + u16 life = static_cast(9999); FixedPointNum speed = (1 * 1.0 * 256 / 360);p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 0 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(1); +} +void stepfunc_fddccad3a4269a6062fda865a05f419c_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_34ea1a195216339fa1c1aeb217396b04(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_943fea1dfc1e15b65ef4a9d5545c9272_34ea1a195216339fa1c1aeb217396b04); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_boss9.hpp b/vulkanon/generator/data/code/vulkanon/l0_boss9.hpp new file mode 100644 index 0000000..3c5bf14 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_boss9.hpp @@ -0,0 +1,25 @@ +#ifndef GENERATED_b091b4e525f0218f41d010eb09448db0_HPP +#define GENERATED_b091b4e525f0218f41d010eb09448db0_HPP + +#include "bullet.hpp" + +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_0e6b9221191b393a92fed534b357420d_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_9cb568481acabe3ca9dd128ec7578254_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); + + +extern const BulletStepFunc bullet_5f2bd36a072e36671de264875cf5d5d2_34ea1a195216339fa1c1aeb217396b04[]; +const unsigned int bullet_5f2bd36a072e36671de264875cf5d5d2_34ea1a195216339fa1c1aeb217396b04_size = 3; +extern const BulletStepFunc bullet_234e4d5975669afdde8f5356cd7ca7fc_34ea1a195216339fa1c1aeb217396b04[]; +const unsigned int bullet_234e4d5975669afdde8f5356cd7ca7fc_34ea1a195216339fa1c1aeb217396b04_size = 3; +extern const BulletStepFunc bullet_943fea1dfc1e15b65ef4a9d5545c9272_34ea1a195216339fa1c1aeb217396b04[]; +const unsigned int bullet_943fea1dfc1e15b65ef4a9d5545c9272_34ea1a195216339fa1c1aeb217396b04_size = 633; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy0.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy0.cpp new file mode 100644 index 0000000..06d017f --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy0.cpp @@ -0,0 +1,51 @@ +// XXX uniqID XXX 2efa80d88730bc60d4dd12b0afe3afde XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy0.hpp" + +extern const BulletStepFunc bullet_c3e2819990d803b10757f5df356edcf5_2efa80d88730bc60d4dd12b0afe3afde[] = { +stepfunc_1c34f3a349a116f9c1a61f9c6aa70d1f_2efa80d88730bc60d4dd12b0afe3afde, +stepfunc_6ba9703189746a284b35c2be3b6f8005_2efa80d88730bc60d4dd12b0afe3afde, +stepfunc_6ba9703189746a284b35c2be3b6f8005_2efa80d88730bc60d4dd12b0afe3afde, +stepfunc_6ba9703189746a284b35c2be3b6f8005_2efa80d88730bc60d4dd12b0afe3afde, +stepfunc_6ba9703189746a284b35c2be3b6f8005_2efa80d88730bc60d4dd12b0afe3afde, +stepfunc_6ba9703189746a284b35c2be3b6f8005_2efa80d88730bc60d4dd12b0afe3afde, +stepfunc_8785d7fc4f68e1ab9eb27bb389443b4c_2efa80d88730bc60d4dd12b0afe3afde, +NULL}; +void stepfunc_806a74f15dce97098f25ed860946a548_2efa80d88730bc60d4dd12b0afe3afde(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((18 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_6ba9703189746a284b35c2be3b6f8005_2efa80d88730bc60d4dd12b0afe3afde(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +p->wait = static_cast(10); +} +void stepfunc_1c34f3a349a116f9c1a61f9c6aa70d1f_2efa80d88730bc60d4dd12b0afe3afde(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 1 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(20); +} +void stepfunc_8785d7fc4f68e1ab9eb27bb389443b4c_2efa80d88730bc60d4dd12b0afe3afde(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 19; ++i) { +stepfunc_806a74f15dce97098f25ed860946a548_2efa80d88730bc60d4dd12b0afe3afde(p);} +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_2efa80d88730bc60d4dd12b0afe3afde(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_c3e2819990d803b10757f5df356edcf5_2efa80d88730bc60d4dd12b0afe3afde); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy0.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy0.hpp new file mode 100644 index 0000000..eff7520 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy0.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_f72257fc8418f1874bff37ef0aa948dc_HPP +#define GENERATED_f72257fc8418f1874bff37ef0aa948dc_HPP + +#include "bullet.hpp" + +void stepfunc_1c34f3a349a116f9c1a61f9c6aa70d1f_2efa80d88730bc60d4dd12b0afe3afde(BulletInfo *p); +void stepfunc_6ba9703189746a284b35c2be3b6f8005_2efa80d88730bc60d4dd12b0afe3afde(BulletInfo *p); +void stepfunc_8785d7fc4f68e1ab9eb27bb389443b4c_2efa80d88730bc60d4dd12b0afe3afde(BulletInfo *p); +void stepfunc_806a74f15dce97098f25ed860946a548_2efa80d88730bc60d4dd12b0afe3afde(BulletInfo *p); + + +extern const BulletStepFunc bullet_c3e2819990d803b10757f5df356edcf5_2efa80d88730bc60d4dd12b0afe3afde[]; +const unsigned int bullet_c3e2819990d803b10757f5df356edcf5_2efa80d88730bc60d4dd12b0afe3afde_size = 8; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy1-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy1-left.cpp new file mode 100644 index 0000000..d74d61e --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy1-left.cpp @@ -0,0 +1,96 @@ +// XXX uniqID XXX 19e22a748dbd8fdfb82d14d4fef2c47c XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy1-left.hpp" + +extern const BulletStepFunc bullet_f970b22888fc597305e4f31cfbd56782_19e22a748dbd8fdfb82d14d4fef2c47c[] = { +stepfunc_cd9b613920aeeb3ee886cd56989c2608_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_19e22a748dbd8fdfb82d14d4fef2c47c, +NULL}; +void stepfunc_f8065ac21976556042f7f909fa003d88_19e22a748dbd8fdfb82d14d4fef2c47c(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((4 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(4 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((6 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(6 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((8 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(8 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 5; ++i) { +stepfunc_f8065ac21976556042f7f909fa003d88_19e22a748dbd8fdfb82d14d4fef2c47c(p);} +p->wait = static_cast(60); +} +void stepfunc_cd9b613920aeeb3ee886cd56989c2608_19e22a748dbd8fdfb82d14d4fef2c47c(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((90 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 0.5 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(30); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_19e22a748dbd8fdfb82d14d4fef2c47c(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_19e22a748dbd8fdfb82d14d4fef2c47c(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_f970b22888fc597305e4f31cfbd56782_19e22a748dbd8fdfb82d14d4fef2c47c); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy1-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy1-left.hpp new file mode 100644 index 0000000..065889b --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy1-left.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_c7df185752684f72b9c333632ba63cc1_HPP +#define GENERATED_c7df185752684f72b9c333632ba63cc1_HPP + +#include "bullet.hpp" + +void stepfunc_cd9b613920aeeb3ee886cd56989c2608_19e22a748dbd8fdfb82d14d4fef2c47c(BulletInfo *p); +void stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c(BulletInfo *p); +void stepfunc_f8065ac21976556042f7f909fa003d88_19e22a748dbd8fdfb82d14d4fef2c47c(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_19e22a748dbd8fdfb82d14d4fef2c47c(BulletInfo *p); + + +extern const BulletStepFunc bullet_f970b22888fc597305e4f31cfbd56782_19e22a748dbd8fdfb82d14d4fef2c47c[]; +const unsigned int bullet_f970b22888fc597305e4f31cfbd56782_19e22a748dbd8fdfb82d14d4fef2c47c_size = 23; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy1-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy1-right.cpp new file mode 100644 index 0000000..2b421c0 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy1-right.cpp @@ -0,0 +1,96 @@ +// XXX uniqID XXX d04a564664a6c54b8eb787ed27fb12b0 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy1-right.hpp" + +extern const BulletStepFunc bullet_248386582a2570e9025f45307b0d5099_d04a564664a6c54b8eb787ed27fb12b0[] = { +stepfunc_3e03ce4b4b83dad477f349db9b3c57ad_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_d04a564664a6c54b8eb787ed27fb12b0, +NULL}; +void stepfunc_f8065ac21976556042f7f909fa003d88_d04a564664a6c54b8eb787ed27fb12b0(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((4 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(4 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((6 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(6 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((8 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(8 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 5; ++i) { +stepfunc_f8065ac21976556042f7f909fa003d88_d04a564664a6c54b8eb787ed27fb12b0(p);} +p->wait = static_cast(60); +} +void stepfunc_3e03ce4b4b83dad477f349db9b3c57ad_d04a564664a6c54b8eb787ed27fb12b0(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((270 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 0.5 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(30); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_d04a564664a6c54b8eb787ed27fb12b0(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_d04a564664a6c54b8eb787ed27fb12b0(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_248386582a2570e9025f45307b0d5099_d04a564664a6c54b8eb787ed27fb12b0); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy1-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy1-right.hpp new file mode 100644 index 0000000..938873a --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy1-right.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_9ce65891ac3b4b3085f9ffa554700143_HPP +#define GENERATED_9ce65891ac3b4b3085f9ffa554700143_HPP + +#include "bullet.hpp" + +void stepfunc_3e03ce4b4b83dad477f349db9b3c57ad_d04a564664a6c54b8eb787ed27fb12b0(BulletInfo *p); +void stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0(BulletInfo *p); +void stepfunc_f8065ac21976556042f7f909fa003d88_d04a564664a6c54b8eb787ed27fb12b0(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_d04a564664a6c54b8eb787ed27fb12b0(BulletInfo *p); + + +extern const BulletStepFunc bullet_248386582a2570e9025f45307b0d5099_d04a564664a6c54b8eb787ed27fb12b0[]; +const unsigned int bullet_248386582a2570e9025f45307b0d5099_d04a564664a6c54b8eb787ed27fb12b0_size = 23; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy10.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy10.cpp new file mode 100644 index 0000000..273ff69 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy10.cpp @@ -0,0 +1,186 @@ +// XXX uniqID XXX 12db626e647961ec34505eb6a92413f2 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy10.hpp" + +extern const BulletStepFunc bullet_6f16f013dd5a1d9df1a8ec2e906a4918_12db626e647961ec34505eb6a92413f2[] = { +stepfunc_1c34f3a349a116f9c1a61f9c6aa70d1f_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_12db626e647961ec34505eb6a92413f2, +NULL}; +void stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (((130 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((130 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((130 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((130 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((130 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((130 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (((150 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((150 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((150 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((150 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((150 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((150 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (((170 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((170 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((170 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((170 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((170 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((170 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (((190 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((190 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((190 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((190 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((190 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((190 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (((210 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((210 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((210 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((210 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((210 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((210 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (((230 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((230 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((230 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((230 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((230 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((((230 * 1.0 * 256 / 360)))); p->lastBulletSpeed = p->lastBulletSpeed + (0.25); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(30); +} +void stepfunc_1c34f3a349a116f9c1a61f9c6aa70d1f_12db626e647961ec34505eb6a92413f2(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 1 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(20); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_12db626e647961ec34505eb6a92413f2(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_12db626e647961ec34505eb6a92413f2(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_6f16f013dd5a1d9df1a8ec2e906a4918_12db626e647961ec34505eb6a92413f2); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy10.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy10.hpp new file mode 100644 index 0000000..ca3e527 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy10.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_7674a4cc9bd3ca83cb4d6147940c0e3f_HPP +#define GENERATED_7674a4cc9bd3ca83cb4d6147940c0e3f_HPP + +#include "bullet.hpp" + +void stepfunc_1c34f3a349a116f9c1a61f9c6aa70d1f_12db626e647961ec34505eb6a92413f2(BulletInfo *p); +void stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_12db626e647961ec34505eb6a92413f2(BulletInfo *p); + + +extern const BulletStepFunc bullet_6f16f013dd5a1d9df1a8ec2e906a4918_12db626e647961ec34505eb6a92413f2[]; +const unsigned int bullet_6f16f013dd5a1d9df1a8ec2e906a4918_12db626e647961ec34505eb6a92413f2_size = 13; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy11-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy11-left.cpp new file mode 100644 index 0000000..e984285 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy11-left.cpp @@ -0,0 +1,76 @@ +// XXX uniqID XXX aa380a2a544f70146f42c48fb87db420 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy11-left.hpp" + +extern const BulletStepFunc bullet_38fb7229377211bd9b69d09d9e1f1080_aa380a2a544f70146f42c48fb87db420[] = { +stepfunc_8c21366c387d9e5541ff10214f08931f_aa380a2a544f70146f42c48fb87db420, +stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_aa380a2a544f70146f42c48fb87db420, +NULL}; +extern const BulletStepFunc bullet_5353406edd34ba07c8439a98f0fb7138_aa380a2a544f70146f42c48fb87db420[] = { +stepfunc_e80bdc5506bf95dd402a596f73c39164_aa380a2a544f70146f42c48fb87db420, +stepfunc_7c5d37dcc527e2e5a705532ae8a1012a_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_fddccad3a4269a6062fda865a05f419c_aa380a2a544f70146f42c48fb87db420, +NULL}; +void stepfunc_8c21366c387d9e5541ff10214f08931f_aa380a2a544f70146f42c48fb87db420(BulletInfo *p) { +p->wait = (FixedPointNum::random()*5).toInt(); +} +void stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_aa380a2a544f70146f42c48fb87db420(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +} +void stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + (((90 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_38fb7229377211bd9b69d09d9e1f1080_aa380a2a544f70146f42c48fb87db420); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((-(90 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_38fb7229377211bd9b69d09d9e1f1080_aa380a2a544f70146f42c48fb87db420); + } +} +p->wait = static_cast(2); +} +void stepfunc_e80bdc5506bf95dd402a596f73c39164_aa380a2a544f70146f42c48fb87db420(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + (-(90 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 2 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_7c5d37dcc527e2e5a705532ae8a1012a_aa380a2a544f70146f42c48fb87db420(BulletInfo *p) { +{ + u16 life = static_cast(120); FixedPointNum speed = FixedPointNum(1 - p->getSpeed(), life);p->setAccel(speed, life);} +} +void stepfunc_fddccad3a4269a6062fda865a05f419c_aa380a2a544f70146f42c48fb87db420(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_aa380a2a544f70146f42c48fb87db420(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_5353406edd34ba07c8439a98f0fb7138_aa380a2a544f70146f42c48fb87db420); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy11-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy11-left.hpp new file mode 100644 index 0000000..30ce357 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy11-left.hpp @@ -0,0 +1,21 @@ +#ifndef GENERATED_4add13941be3ed70856125c0f0715e61_HPP +#define GENERATED_4add13941be3ed70856125c0f0715e61_HPP + +#include "bullet.hpp" + +void stepfunc_8c21366c387d9e5541ff10214f08931f_aa380a2a544f70146f42c48fb87db420(BulletInfo *p); +void stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_aa380a2a544f70146f42c48fb87db420(BulletInfo *p); +void stepfunc_e80bdc5506bf95dd402a596f73c39164_aa380a2a544f70146f42c48fb87db420(BulletInfo *p); +void stepfunc_7c5d37dcc527e2e5a705532ae8a1012a_aa380a2a544f70146f42c48fb87db420(BulletInfo *p); +void stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_aa380a2a544f70146f42c48fb87db420(BulletInfo *p); + + +extern const BulletStepFunc bullet_38fb7229377211bd9b69d09d9e1f1080_aa380a2a544f70146f42c48fb87db420[]; +const unsigned int bullet_38fb7229377211bd9b69d09d9e1f1080_aa380a2a544f70146f42c48fb87db420_size = 3; +extern const BulletStepFunc bullet_5353406edd34ba07c8439a98f0fb7138_aa380a2a544f70146f42c48fb87db420[]; +const unsigned int bullet_5353406edd34ba07c8439a98f0fb7138_aa380a2a544f70146f42c48fb87db420_size = 24; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy11-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy11-right.cpp new file mode 100644 index 0000000..91a3911 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy11-right.cpp @@ -0,0 +1,76 @@ +// XXX uniqID XXX 65e68c740ee2a220ba8c5031c4b6d1b3 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy11-right.hpp" + +extern const BulletStepFunc bullet_26f53c9f2427bac325ee36cb79cb32f6_65e68c740ee2a220ba8c5031c4b6d1b3[] = { +stepfunc_8c21366c387d9e5541ff10214f08931f_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_65e68c740ee2a220ba8c5031c4b6d1b3, +NULL}; +extern const BulletStepFunc bullet_a3fa37377dc8a6dc07d59744827f3bb5_65e68c740ee2a220ba8c5031c4b6d1b3[] = { +stepfunc_62bf6c87a01c17857bce3310e4499e81_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_7c5d37dcc527e2e5a705532ae8a1012a_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_fddccad3a4269a6062fda865a05f419c_65e68c740ee2a220ba8c5031c4b6d1b3, +NULL}; +void stepfunc_8c21366c387d9e5541ff10214f08931f_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p) { +p->wait = (FixedPointNum::random()*5).toInt(); +} +void stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +} +void stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + (((90 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_26f53c9f2427bac325ee36cb79cb32f6_65e68c740ee2a220ba8c5031c4b6d1b3); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((-(90 * 1.0 * 256 / 360))); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_26f53c9f2427bac325ee36cb79cb32f6_65e68c740ee2a220ba8c5031c4b6d1b3); + } +} +p->wait = static_cast(2); +} +void stepfunc_62bf6c87a01c17857bce3310e4499e81_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((90 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 2 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_7c5d37dcc527e2e5a705532ae8a1012a_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p) { +{ + u16 life = static_cast(120); FixedPointNum speed = FixedPointNum(1 - p->getSpeed(), life);p->setAccel(speed, life);} +} +void stepfunc_fddccad3a4269a6062fda865a05f419c_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_65e68c740ee2a220ba8c5031c4b6d1b3(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_a3fa37377dc8a6dc07d59744827f3bb5_65e68c740ee2a220ba8c5031c4b6d1b3); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy11-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy11-right.hpp new file mode 100644 index 0000000..1547f3a --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy11-right.hpp @@ -0,0 +1,21 @@ +#ifndef GENERATED_d1fcfbb6069686306efc9d73be9327bf_HPP +#define GENERATED_d1fcfbb6069686306efc9d73be9327bf_HPP + +#include "bullet.hpp" + +void stepfunc_8c21366c387d9e5541ff10214f08931f_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p); +void stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p); +void stepfunc_62bf6c87a01c17857bce3310e4499e81_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p); +void stepfunc_7c5d37dcc527e2e5a705532ae8a1012a_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p); +void stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p); + + +extern const BulletStepFunc bullet_26f53c9f2427bac325ee36cb79cb32f6_65e68c740ee2a220ba8c5031c4b6d1b3[]; +const unsigned int bullet_26f53c9f2427bac325ee36cb79cb32f6_65e68c740ee2a220ba8c5031c4b6d1b3_size = 3; +extern const BulletStepFunc bullet_a3fa37377dc8a6dc07d59744827f3bb5_65e68c740ee2a220ba8c5031c4b6d1b3[]; +const unsigned int bullet_a3fa37377dc8a6dc07d59744827f3bb5_65e68c740ee2a220ba8c5031c4b6d1b3_size = 24; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy12.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy12.cpp new file mode 100644 index 0000000..c347ecf --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy12.cpp @@ -0,0 +1,33 @@ +// XXX uniqID XXX fd52ad7c32cd66562d39fa277c4b3797 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy12.hpp" + +extern const BulletStepFunc bullet_ad17e24e2aa20f678a19b17be5213ea0_fd52ad7c32cd66562d39fa277c4b3797[] = { +stepfunc_d5b50929d4498db95fe3b57b9c6c8094_fd52ad7c32cd66562d39fa277c4b3797, +NULL}; +void stepfunc_e1cb05365e955e6c9fc4a42f10774254_fd52ad7c32cd66562d39fa277c4b3797(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_d5b50929d4498db95fe3b57b9c6c8094_fd52ad7c32cd66562d39fa277c4b3797(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 10; ++i) { +stepfunc_e1cb05365e955e6c9fc4a42f10774254_fd52ad7c32cd66562d39fa277c4b3797(p);} +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_fd52ad7c32cd66562d39fa277c4b3797(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_ad17e24e2aa20f678a19b17be5213ea0_fd52ad7c32cd66562d39fa277c4b3797); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy12.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy12.hpp new file mode 100644 index 0000000..f2015f5 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy12.hpp @@ -0,0 +1,15 @@ +#ifndef GENERATED_52b5fd9cebd5643b97a2ce1a2b00ea0c_HPP +#define GENERATED_52b5fd9cebd5643b97a2ce1a2b00ea0c_HPP + +#include "bullet.hpp" + +void stepfunc_d5b50929d4498db95fe3b57b9c6c8094_fd52ad7c32cd66562d39fa277c4b3797(BulletInfo *p); +void stepfunc_e1cb05365e955e6c9fc4a42f10774254_fd52ad7c32cd66562d39fa277c4b3797(BulletInfo *p); + + +extern const BulletStepFunc bullet_ad17e24e2aa20f678a19b17be5213ea0_fd52ad7c32cd66562d39fa277c4b3797[]; +const unsigned int bullet_ad17e24e2aa20f678a19b17be5213ea0_fd52ad7c32cd66562d39fa277c4b3797_size = 2; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy13-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy13-left.cpp new file mode 100644 index 0000000..9cb8342 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy13-left.cpp @@ -0,0 +1,95 @@ +// XXX uniqID XXX fef1923156fe801e24fe2bce452dbdec XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy13-left.hpp" + +extern const BulletStepFunc bullet_104eeeaa56e2bf430117bef58ddc7a9d_fef1923156fe801e24fe2bce452dbdec[] = { +stepfunc_b5ccdb55b1c6958c7330d2c4b2466f1c_fef1923156fe801e24fe2bce452dbdec, +stepfunc_8c4041f942f600e94991c394939a804c_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_fddccad3a4269a6062fda865a05f419c_fef1923156fe801e24fe2bce452dbdec, +NULL}; +void stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((90 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + (-(90 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(3); +} +void stepfunc_b5ccdb55b1c6958c7330d2c4b2466f1c_fef1923156fe801e24fe2bce452dbdec(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + (FixedPointNum::random()*(360 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_8c4041f942f600e94991c394939a804c_fef1923156fe801e24fe2bce452dbdec(BulletInfo *p) { +{ + u16 life = static_cast(9999); FixedPointNum speed = -(3 * 1.0 * 256 / 360);p->setRound(speed, life);} +{ + u16 life = static_cast(100); FixedPointNum speed = FixedPointNum(4 - p->getSpeed(), life);p->setAccel(speed, life);} +} +void stepfunc_fddccad3a4269a6062fda865a05f419c_fef1923156fe801e24fe2bce452dbdec(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_fef1923156fe801e24fe2bce452dbdec(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_104eeeaa56e2bf430117bef58ddc7a9d_fef1923156fe801e24fe2bce452dbdec); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy13-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy13-left.hpp new file mode 100644 index 0000000..943ecd2 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy13-left.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_4ed121daca8139a36285f874c046dd17_HPP +#define GENERATED_4ed121daca8139a36285f874c046dd17_HPP + +#include "bullet.hpp" + +void stepfunc_b5ccdb55b1c6958c7330d2c4b2466f1c_fef1923156fe801e24fe2bce452dbdec(BulletInfo *p); +void stepfunc_8c4041f942f600e94991c394939a804c_fef1923156fe801e24fe2bce452dbdec(BulletInfo *p); +void stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_fef1923156fe801e24fe2bce452dbdec(BulletInfo *p); + + +extern const BulletStepFunc bullet_104eeeaa56e2bf430117bef58ddc7a9d_fef1923156fe801e24fe2bce452dbdec[]; +const unsigned int bullet_104eeeaa56e2bf430117bef58ddc7a9d_fef1923156fe801e24fe2bce452dbdec_size = 54; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy13-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy13-right.cpp new file mode 100644 index 0000000..ba48dd1 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy13-right.cpp @@ -0,0 +1,95 @@ +// XXX uniqID XXX fedd858a2a4d5e35be3ee22ffc073e03 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy13-right.hpp" + +extern const BulletStepFunc bullet_32454d22b7489d48267f520406715b9a_fedd858a2a4d5e35be3ee22ffc073e03[] = { +stepfunc_b5ccdb55b1c6958c7330d2c4b2466f1c_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_278b619bac05feae137452d0b23ccc87_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_fddccad3a4269a6062fda865a05f419c_fedd858a2a4d5e35be3ee22ffc073e03, +NULL}; +void stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((90 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + (-(90 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(3); +} +void stepfunc_b5ccdb55b1c6958c7330d2c4b2466f1c_fedd858a2a4d5e35be3ee22ffc073e03(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + (FixedPointNum::random()*(360 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_278b619bac05feae137452d0b23ccc87_fedd858a2a4d5e35be3ee22ffc073e03(BulletInfo *p) { +{ + u16 life = static_cast(9999); FixedPointNum speed = (3 * 1.0 * 256 / 360);p->setRound(speed, life);} +{ + u16 life = static_cast(100); FixedPointNum speed = FixedPointNum(4 - p->getSpeed(), life);p->setAccel(speed, life);} +} +void stepfunc_fddccad3a4269a6062fda865a05f419c_fedd858a2a4d5e35be3ee22ffc073e03(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_fedd858a2a4d5e35be3ee22ffc073e03(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_32454d22b7489d48267f520406715b9a_fedd858a2a4d5e35be3ee22ffc073e03); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy13-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy13-right.hpp new file mode 100644 index 0000000..72eb1ab --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy13-right.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_9855369fa24ce4b24274ebdf4213d716_HPP +#define GENERATED_9855369fa24ce4b24274ebdf4213d716_HPP + +#include "bullet.hpp" + +void stepfunc_b5ccdb55b1c6958c7330d2c4b2466f1c_fedd858a2a4d5e35be3ee22ffc073e03(BulletInfo *p); +void stepfunc_278b619bac05feae137452d0b23ccc87_fedd858a2a4d5e35be3ee22ffc073e03(BulletInfo *p); +void stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_fedd858a2a4d5e35be3ee22ffc073e03(BulletInfo *p); + + +extern const BulletStepFunc bullet_32454d22b7489d48267f520406715b9a_fedd858a2a4d5e35be3ee22ffc073e03[]; +const unsigned int bullet_32454d22b7489d48267f520406715b9a_fedd858a2a4d5e35be3ee22ffc073e03_size = 54; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy14-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy14-left.cpp new file mode 100644 index 0000000..7678b0f --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy14-left.cpp @@ -0,0 +1,128 @@ +// XXX uniqID XXX 394cea4d77e9d333c235108b5dbc5c88 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy14-left.hpp" + +extern const BulletStepFunc bullet_47c67eb6c29816a4036c5d8c6c6884ec_394cea4d77e9d333c235108b5dbc5c88[] = { +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_394cea4d77e9d333c235108b5dbc5c88, +NULL}; +void stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + (-(120 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(10); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_394cea4d77e9d333c235108b5dbc5c88(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_394cea4d77e9d333c235108b5dbc5c88(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_47c67eb6c29816a4036c5d8c6c6884ec_394cea4d77e9d333c235108b5dbc5c88); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy14-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy14-left.hpp new file mode 100644 index 0000000..fb8ea78 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy14-left.hpp @@ -0,0 +1,15 @@ +#ifndef GENERATED_eb1392a78c28bb3b8696f9d3cec50823_HPP +#define GENERATED_eb1392a78c28bb3b8696f9d3cec50823_HPP + +#include "bullet.hpp" + +void stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_394cea4d77e9d333c235108b5dbc5c88(BulletInfo *p); + + +extern const BulletStepFunc bullet_47c67eb6c29816a4036c5d8c6c6884ec_394cea4d77e9d333c235108b5dbc5c88[]; +const unsigned int bullet_47c67eb6c29816a4036c5d8c6c6884ec_394cea4d77e9d333c235108b5dbc5c88_size = 102; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy14-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy14-right.cpp new file mode 100644 index 0000000..c8cae92 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy14-right.cpp @@ -0,0 +1,128 @@ +// XXX uniqID XXX d5b50d066fb77c09379b2ecff4c01376 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy14-right.hpp" + +extern const BulletStepFunc bullet_5d09d53130e02d1824ef11f985d532d2_d5b50d066fb77c09379b2ecff4c01376[] = { +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_d5b50d066fb77c09379b2ecff4c01376, +NULL}; +void stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((120 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(10); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_d5b50d066fb77c09379b2ecff4c01376(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_d5b50d066fb77c09379b2ecff4c01376(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_5d09d53130e02d1824ef11f985d532d2_d5b50d066fb77c09379b2ecff4c01376); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy14-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy14-right.hpp new file mode 100644 index 0000000..60c1407 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy14-right.hpp @@ -0,0 +1,15 @@ +#ifndef GENERATED_359058423136dacc908ed9892b9a4d69_HPP +#define GENERATED_359058423136dacc908ed9892b9a4d69_HPP + +#include "bullet.hpp" + +void stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_d5b50d066fb77c09379b2ecff4c01376(BulletInfo *p); + + +extern const BulletStepFunc bullet_5d09d53130e02d1824ef11f985d532d2_d5b50d066fb77c09379b2ecff4c01376[]; +const unsigned int bullet_5d09d53130e02d1824ef11f985d532d2_d5b50d066fb77c09379b2ecff4c01376_size = 102; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy15-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy15-left.cpp new file mode 100644 index 0000000..edeff4c --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy15-left.cpp @@ -0,0 +1,96 @@ +// XXX uniqID XXX 8f6ee947ca2e017e9dee903bc37f6f73 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy15-left.hpp" + +extern const BulletStepFunc bullet_8142b7ea14e8d500940695bd4dbc8958_8f6ee947ca2e017e9dee903bc37f6f73[] = { +stepfunc_bed8dda85fc60ff8f3f2ddb90c504bf2_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_8f6ee947ca2e017e9dee903bc37f6f73, +NULL}; +void stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + (-(2 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(10); +} +void stepfunc_bed8dda85fc60ff8f3f2ddb90c504bf2_8f6ee947ca2e017e9dee903bc37f6f73(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(20); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_8f6ee947ca2e017e9dee903bc37f6f73(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_8f6ee947ca2e017e9dee903bc37f6f73(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_8142b7ea14e8d500940695bd4dbc8958_8f6ee947ca2e017e9dee903bc37f6f73); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy15-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy15-left.hpp new file mode 100644 index 0000000..8cb42b2 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy15-left.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_48c32fac5cf257f6aa4f4d552cac8a6f_HPP +#define GENERATED_48c32fac5cf257f6aa4f4d552cac8a6f_HPP + +#include "bullet.hpp" + +void stepfunc_bed8dda85fc60ff8f3f2ddb90c504bf2_8f6ee947ca2e017e9dee903bc37f6f73(BulletInfo *p); +void stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_8f6ee947ca2e017e9dee903bc37f6f73(BulletInfo *p); + + +extern const BulletStepFunc bullet_8142b7ea14e8d500940695bd4dbc8958_8f6ee947ca2e017e9dee903bc37f6f73[]; +const unsigned int bullet_8142b7ea14e8d500940695bd4dbc8958_8f6ee947ca2e017e9dee903bc37f6f73_size = 63; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy15-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy15-right.cpp new file mode 100644 index 0000000..4bfa54a --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy15-right.cpp @@ -0,0 +1,96 @@ +// XXX uniqID XXX f62ae716ff689b0db49490423ea6e1db XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy15-right.hpp" + +extern const BulletStepFunc bullet_928102754cc08638c5a2b32559877673_f62ae716ff689b0db49490423ea6e1db[] = { +stepfunc_bed8dda85fc60ff8f3f2ddb90c504bf2_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_f62ae716ff689b0db49490423ea6e1db, +NULL}; +void stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((2 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(10); +} +void stepfunc_bed8dda85fc60ff8f3f2ddb90c504bf2_f62ae716ff689b0db49490423ea6e1db(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(20); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_f62ae716ff689b0db49490423ea6e1db(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_f62ae716ff689b0db49490423ea6e1db(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_928102754cc08638c5a2b32559877673_f62ae716ff689b0db49490423ea6e1db); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy15-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy15-right.hpp new file mode 100644 index 0000000..4c64873 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy15-right.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_6228c3cc54b0b4807cfe6774d8115d02_HPP +#define GENERATED_6228c3cc54b0b4807cfe6774d8115d02_HPP + +#include "bullet.hpp" + +void stepfunc_bed8dda85fc60ff8f3f2ddb90c504bf2_f62ae716ff689b0db49490423ea6e1db(BulletInfo *p); +void stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_f62ae716ff689b0db49490423ea6e1db(BulletInfo *p); + + +extern const BulletStepFunc bullet_928102754cc08638c5a2b32559877673_f62ae716ff689b0db49490423ea6e1db[]; +const unsigned int bullet_928102754cc08638c5a2b32559877673_f62ae716ff689b0db49490423ea6e1db_size = 63; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy16.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy16.cpp new file mode 100644 index 0000000..ca92e39 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy16.cpp @@ -0,0 +1,228 @@ +// XXX uniqID XXX bf44993c7032c5f5ff2e199bd34b2b7d XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy16.hpp" + +extern const BulletStepFunc bullet_90e939b3099608d9d6ebc1afc1433f9d_bf44993c7032c5f5ff2e199bd34b2b7d[] = { +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_bf44993c7032c5f5ff2e199bd34b2b7d, +NULL}; +void stepfunc_7ffb126280b2d740656c663410523add_bf44993c7032c5f5ff2e199bd34b2b7d(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + (-(6 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_b7f0a0889c4a03a5c03cda747ceb1d0b_bf44993c7032c5f5ff2e199bd34b2b7d(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((6 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((120 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 5; ++i) { +stepfunc_b7f0a0889c4a03a5c03cda747ceb1d0b_bf44993c7032c5f5ff2e199bd34b2b7d(p);} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((240 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 5; ++i) { +stepfunc_7ffb126280b2d740656c663410523add_bf44993c7032c5f5ff2e199bd34b2b7d(p);} +p->wait = static_cast(10); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_bf44993c7032c5f5ff2e199bd34b2b7d(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_bf44993c7032c5f5ff2e199bd34b2b7d(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_90e939b3099608d9d6ebc1afc1433f9d_bf44993c7032c5f5ff2e199bd34b2b7d); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy16.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy16.hpp new file mode 100644 index 0000000..013e002 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy16.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_9566c519f6f8cca1897bf9c0281f02da_HPP +#define GENERATED_9566c519f6f8cca1897bf9c0281f02da_HPP + +#include "bullet.hpp" + +void stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d(BulletInfo *p); +void stepfunc_b7f0a0889c4a03a5c03cda747ceb1d0b_bf44993c7032c5f5ff2e199bd34b2b7d(BulletInfo *p); +void stepfunc_7ffb126280b2d740656c663410523add_bf44993c7032c5f5ff2e199bd34b2b7d(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_bf44993c7032c5f5ff2e199bd34b2b7d(BulletInfo *p); + + +extern const BulletStepFunc bullet_90e939b3099608d9d6ebc1afc1433f9d_bf44993c7032c5f5ff2e199bd34b2b7d[]; +const unsigned int bullet_90e939b3099608d9d6ebc1afc1433f9d_bf44993c7032c5f5ff2e199bd34b2b7d_size = 182; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy17.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy17.cpp new file mode 100644 index 0000000..d1d5f04 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy17.cpp @@ -0,0 +1,162 @@ +// XXX uniqID XXX d616ce17dab7949731bdeb5fbace6e10 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy17.hpp" + +extern const BulletStepFunc bullet_7a1d7b337153505f76f35f00d80246d7_d616ce17dab7949731bdeb5fbace6e10[] = { +stepfunc_5cff29a177a82894839220d02250a162_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_d616ce17dab7949731bdeb5fbace6e10, +NULL}; +void stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((135 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((225 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(2); +} +void stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10(BulletInfo *p) { +p->wait = static_cast(8); +} +void stepfunc_5cff29a177a82894839220d02250a162_d616ce17dab7949731bdeb5fbace6e10(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 1 - p->getSpeed();p->setAccel(speed, life);} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_d616ce17dab7949731bdeb5fbace6e10(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_d616ce17dab7949731bdeb5fbace6e10(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_7a1d7b337153505f76f35f00d80246d7_d616ce17dab7949731bdeb5fbace6e10); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy17.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy17.hpp new file mode 100644 index 0000000..484b013 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy17.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_ae0683fac2183a7b7a1e8569f3f68d47_HPP +#define GENERATED_ae0683fac2183a7b7a1e8569f3f68d47_HPP + +#include "bullet.hpp" + +void stepfunc_5cff29a177a82894839220d02250a162_d616ce17dab7949731bdeb5fbace6e10(BulletInfo *p); +void stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10(BulletInfo *p); +void stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_d616ce17dab7949731bdeb5fbace6e10(BulletInfo *p); + + +extern const BulletStepFunc bullet_7a1d7b337153505f76f35f00d80246d7_d616ce17dab7949731bdeb5fbace6e10[]; +const unsigned int bullet_7a1d7b337153505f76f35f00d80246d7_d616ce17dab7949731bdeb5fbace6e10_size = 123; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy18-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy18-left.cpp new file mode 100644 index 0000000..cb556af --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy18-left.cpp @@ -0,0 +1,119 @@ +// XXX uniqID XXX 9a82ad8bbb831832e2c899e19daaa0d5 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy18-left.hpp" + +extern const BulletStepFunc bullet_47361c68a13624703595a204db243d6b_9a82ad8bbb831832e2c899e19daaa0d5[] = { +stepfunc_456753c9ab23d0c18884db48a58a16e6_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_30a5b118867561f3ad2802c148f182e3_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_9a82ad8bbb831832e2c899e19daaa0d5, +NULL}; +void stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + (-(3 * 1.0 * 256 / 360)); p->lastBulletSpeed = (3); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (-0.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (-0.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (-0.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (-0.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(1); +} +void stepfunc_456753c9ab23d0c18884db48a58a16e6_9a82ad8bbb831832e2c899e19daaa0d5(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 0.5 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_30a5b118867561f3ad2802c148f182e3_9a82ad8bbb831832e2c899e19daaa0d5(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (3); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_9a82ad8bbb831832e2c899e19daaa0d5(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_9a82ad8bbb831832e2c899e19daaa0d5(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_47361c68a13624703595a204db243d6b_9a82ad8bbb831832e2c899e19daaa0d5); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy18-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy18-left.hpp new file mode 100644 index 0000000..3ebe1bc --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy18-left.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_d67fa95c55c86f774b8a0c9940b15f13_HPP +#define GENERATED_d67fa95c55c86f774b8a0c9940b15f13_HPP + +#include "bullet.hpp" + +void stepfunc_456753c9ab23d0c18884db48a58a16e6_9a82ad8bbb831832e2c899e19daaa0d5(BulletInfo *p); +void stepfunc_30a5b118867561f3ad2802c148f182e3_9a82ad8bbb831832e2c899e19daaa0d5(BulletInfo *p); +void stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_9a82ad8bbb831832e2c899e19daaa0d5(BulletInfo *p); + + +extern const BulletStepFunc bullet_47361c68a13624703595a204db243d6b_9a82ad8bbb831832e2c899e19daaa0d5[]; +const unsigned int bullet_47361c68a13624703595a204db243d6b_9a82ad8bbb831832e2c899e19daaa0d5_size = 64; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy18-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy18-right.cpp new file mode 100644 index 0000000..fcb5320 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy18-right.cpp @@ -0,0 +1,119 @@ +// XXX uniqID XXX 237614aaec8157c2c678e39a91b6f99b XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy18-right.hpp" + +extern const BulletStepFunc bullet_66a2f95601e784c18e0dab7a14ea58ac_237614aaec8157c2c678e39a91b6f99b[] = { +stepfunc_456753c9ab23d0c18884db48a58a16e6_237614aaec8157c2c678e39a91b6f99b, +stepfunc_30a5b118867561f3ad2802c148f182e3_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_237614aaec8157c2c678e39a91b6f99b, +NULL}; +void stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((3 * 1.0 * 256 / 360)); p->lastBulletSpeed = (3); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (-0.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (-0.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (-0.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (-0.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(1); +} +void stepfunc_456753c9ab23d0c18884db48a58a16e6_237614aaec8157c2c678e39a91b6f99b(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 0.5 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_30a5b118867561f3ad2802c148f182e3_237614aaec8157c2c678e39a91b6f99b(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (3); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_237614aaec8157c2c678e39a91b6f99b(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_237614aaec8157c2c678e39a91b6f99b(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_66a2f95601e784c18e0dab7a14ea58ac_237614aaec8157c2c678e39a91b6f99b); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy18-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy18-right.hpp new file mode 100644 index 0000000..ac550c7 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy18-right.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_e87b3af185fbeb6bd3b4164f551ab9a2_HPP +#define GENERATED_e87b3af185fbeb6bd3b4164f551ab9a2_HPP + +#include "bullet.hpp" + +void stepfunc_456753c9ab23d0c18884db48a58a16e6_237614aaec8157c2c678e39a91b6f99b(BulletInfo *p); +void stepfunc_30a5b118867561f3ad2802c148f182e3_237614aaec8157c2c678e39a91b6f99b(BulletInfo *p); +void stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_237614aaec8157c2c678e39a91b6f99b(BulletInfo *p); + + +extern const BulletStepFunc bullet_66a2f95601e784c18e0dab7a14ea58ac_237614aaec8157c2c678e39a91b6f99b[]; +const unsigned int bullet_66a2f95601e784c18e0dab7a14ea58ac_237614aaec8157c2c678e39a91b6f99b_size = 64; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy19-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy19-left.cpp new file mode 100644 index 0000000..dbbddfb --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy19-left.cpp @@ -0,0 +1,339 @@ +// XXX uniqID XXX 725cf8416eb13190489c86a3a093aae1 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy19-left.hpp" + +extern const BulletStepFunc bullet_ac7bb767b751e789736ad9222d6197c8_725cf8416eb13190489c86a3a093aae1[] = { +stepfunc_f9e9b65e67c0cff38a77ad9208706601_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_fddccad3a4269a6062fda865a05f419c_725cf8416eb13190489c86a3a093aae1, +NULL}; +void stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)); p->lastBulletSpeed = ((6/2.0)); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((135 * 1.0 * 256 / 360)); p->lastBulletSpeed = ((6/2.0)); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(2); +} +void stepfunc_f9e9b65e67c0cff38a77ad9208706601_725cf8416eb13190489c86a3a093aae1(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (4/2.0) - p->getSpeed();p->setAccel(speed, life);} +{ + u16 life = static_cast(9999); FixedPointNum speed = -(2 * 1.0 * 256 / 360);p->setRound(speed, life);} +} +void stepfunc_fddccad3a4269a6062fda865a05f419c_725cf8416eb13190489c86a3a093aae1(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_725cf8416eb13190489c86a3a093aae1(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_ac7bb767b751e789736ad9222d6197c8_725cf8416eb13190489c86a3a093aae1); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy19-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy19-left.hpp new file mode 100644 index 0000000..8af6ba3 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy19-left.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_0136208fc6eddf99418fa1eea2c760de_HPP +#define GENERATED_0136208fc6eddf99418fa1eea2c760de_HPP + +#include "bullet.hpp" + +void stepfunc_f9e9b65e67c0cff38a77ad9208706601_725cf8416eb13190489c86a3a093aae1(BulletInfo *p); +void stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_725cf8416eb13190489c86a3a093aae1(BulletInfo *p); + + +extern const BulletStepFunc bullet_ac7bb767b751e789736ad9222d6197c8_725cf8416eb13190489c86a3a093aae1[]; +const unsigned int bullet_ac7bb767b751e789736ad9222d6197c8_725cf8416eb13190489c86a3a093aae1_size = 303; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy19-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy19-right.cpp new file mode 100644 index 0000000..9ee2f50 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy19-right.cpp @@ -0,0 +1,339 @@ +// XXX uniqID XXX 857ffb30df4ae1219f2f94987d8254da XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy19-right.hpp" + +extern const BulletStepFunc bullet_a12c906962df10f2fff3b9d43962a732_857ffb30df4ae1219f2f94987d8254da[] = { +stepfunc_9feee3686dcc5c059cca60a536f73d06_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_fddccad3a4269a6062fda865a05f419c_857ffb30df4ae1219f2f94987d8254da, +NULL}; +void stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)); p->lastBulletSpeed = ((6/2.0)); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((225 * 1.0 * 256 / 360)); p->lastBulletSpeed = ((6/2.0)); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(2); +} +void stepfunc_9feee3686dcc5c059cca60a536f73d06_857ffb30df4ae1219f2f94987d8254da(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (4/2.0) - p->getSpeed();p->setAccel(speed, life);} +{ + u16 life = static_cast(9999); FixedPointNum speed = (2 * 1.0 * 256 / 360);p->setRound(speed, life);} +} +void stepfunc_fddccad3a4269a6062fda865a05f419c_857ffb30df4ae1219f2f94987d8254da(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_857ffb30df4ae1219f2f94987d8254da(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_a12c906962df10f2fff3b9d43962a732_857ffb30df4ae1219f2f94987d8254da); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy19-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy19-right.hpp new file mode 100644 index 0000000..dccd722 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy19-right.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_c55bf0dbe0caf9e2425636a62384014c_HPP +#define GENERATED_c55bf0dbe0caf9e2425636a62384014c_HPP + +#include "bullet.hpp" + +void stepfunc_9feee3686dcc5c059cca60a536f73d06_857ffb30df4ae1219f2f94987d8254da(BulletInfo *p); +void stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_857ffb30df4ae1219f2f94987d8254da(BulletInfo *p); + + +extern const BulletStepFunc bullet_a12c906962df10f2fff3b9d43962a732_857ffb30df4ae1219f2f94987d8254da[]; +const unsigned int bullet_a12c906962df10f2fff3b9d43962a732_857ffb30df4ae1219f2f94987d8254da_size = 303; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy2.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy2.cpp new file mode 100644 index 0000000..a0c60fe --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy2.cpp @@ -0,0 +1,49 @@ +// XXX uniqID XXX 1dce9b78d98783de77dd9c4da10bc546 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy2.hpp" + +extern const BulletStepFunc bullet_ef36170a79bca743cc5db5ca94a5b6ba_1dce9b78d98783de77dd9c4da10bc546[] = { +stepfunc_b54b223c2d4a5cf729728840692a92be_1dce9b78d98783de77dd9c4da10bc546, +stepfunc_83ff01d7f4a03a80839ba4fdced68045_1dce9b78d98783de77dd9c4da10bc546, +stepfunc_83ff01d7f4a03a80839ba4fdced68045_1dce9b78d98783de77dd9c4da10bc546, +stepfunc_83ff01d7f4a03a80839ba4fdced68045_1dce9b78d98783de77dd9c4da10bc546, +stepfunc_83ff01d7f4a03a80839ba4fdced68045_1dce9b78d98783de77dd9c4da10bc546, +stepfunc_83ff01d7f4a03a80839ba4fdced68045_1dce9b78d98783de77dd9c4da10bc546, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_1dce9b78d98783de77dd9c4da10bc546, +NULL}; +void stepfunc_372f7bba3c1db34154d2b39e0144c266_1dce9b78d98783de77dd9c4da10bc546(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((2 * 1.0 * 256 / 360)); p->lastBulletSpeed = (3); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_83ff01d7f4a03a80839ba4fdced68045_1dce9b78d98783de77dd9c4da10bc546(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((170 * 1.0 * 256 / 360)); p->lastBulletSpeed = (3); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 9; ++i) { +stepfunc_372f7bba3c1db34154d2b39e0144c266_1dce9b78d98783de77dd9c4da10bc546(p);} +p->wait = static_cast(5); +} +void stepfunc_b54b223c2d4a5cf729728840692a92be_1dce9b78d98783de77dd9c4da10bc546(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = 1 - p->getSpeed();p->setAccel(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +p->wait = static_cast(60); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_1dce9b78d98783de77dd9c4da10bc546(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_1dce9b78d98783de77dd9c4da10bc546(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_ef36170a79bca743cc5db5ca94a5b6ba_1dce9b78d98783de77dd9c4da10bc546); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy2.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy2.hpp new file mode 100644 index 0000000..49a96ba --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy2.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_75f068e21d6a896fb0567485d21ba3ca_HPP +#define GENERATED_75f068e21d6a896fb0567485d21ba3ca_HPP + +#include "bullet.hpp" + +void stepfunc_b54b223c2d4a5cf729728840692a92be_1dce9b78d98783de77dd9c4da10bc546(BulletInfo *p); +void stepfunc_83ff01d7f4a03a80839ba4fdced68045_1dce9b78d98783de77dd9c4da10bc546(BulletInfo *p); +void stepfunc_372f7bba3c1db34154d2b39e0144c266_1dce9b78d98783de77dd9c4da10bc546(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_1dce9b78d98783de77dd9c4da10bc546(BulletInfo *p); + + +extern const BulletStepFunc bullet_ef36170a79bca743cc5db5ca94a5b6ba_1dce9b78d98783de77dd9c4da10bc546[]; +const unsigned int bullet_ef36170a79bca743cc5db5ca94a5b6ba_1dce9b78d98783de77dd9c4da10bc546_size = 8; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy20-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy20-left.cpp new file mode 100644 index 0000000..123ffb6 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy20-left.cpp @@ -0,0 +1,176 @@ +// XXX uniqID XXX 45873150e5988b429bcb0292a3ef221c XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy20-left.hpp" + +extern const BulletStepFunc bullet_f62ccc5e7dd80cc45e8c716f3ff777dd_45873150e5988b429bcb0292a3ef221c[] = { +stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_45873150e5988b429bcb0292a3ef221c, +stepfunc_e9ec35a8b787bec56122ddc769b9f643_45873150e5988b429bcb0292a3ef221c, +NULL}; +extern const BulletStepFunc bullet_0cbe073c92094f2cd31b213454d9ec5f_45873150e5988b429bcb0292a3ef221c[] = { +stepfunc_f5a5b174ac927df596a7415eb8e38ffc_45873150e5988b429bcb0292a3ef221c, +stepfunc_0e6b9221191b393a92fed534b357420d_45873150e5988b429bcb0292a3ef221c, +NULL}; +extern const BulletStepFunc bullet_04544a8133115338033ab09567a1da45_45873150e5988b429bcb0292a3ef221c[] = { +stepfunc_f6acfffffca822d03ca99c2ba84f212b_45873150e5988b429bcb0292a3ef221c, +stepfunc_548dbbbf4a2af73e33d1418e8198842f_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_45873150e5988b429bcb0292a3ef221c, +NULL}; +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_45873150e5988b429bcb0292a3ef221c(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = -(-(90 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_45873150e5988b429bcb0292a3ef221c(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (-(90 * 1.0 * 256 / 360));p->setRound(speed, life);} +} +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_45873150e5988b429bcb0292a3ef221c(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = -((90 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_0e6b9221191b393a92fed534b357420d_45873150e5988b429bcb0292a3ef221c(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = ((90 * 1.0 * 256 / 360));p->setRound(speed, life);} +} +void stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_0cbe073c92094f2cd31b213454d9ec5f_45873150e5988b429bcb0292a3ef221c); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_f62ccc5e7dd80cc45e8c716f3ff777dd_45873150e5988b429bcb0292a3ef221c); + } +} +p->wait = static_cast(3); +} +void stepfunc_f6acfffffca822d03ca99c2ba84f212b_45873150e5988b429bcb0292a3ef221c(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = 0 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(30); +} +void stepfunc_548dbbbf4a2af73e33d1418e8198842f_45873150e5988b429bcb0292a3ef221c(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((270 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(3); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_45873150e5988b429bcb0292a3ef221c(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_45873150e5988b429bcb0292a3ef221c(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_04544a8133115338033ab09567a1da45_45873150e5988b429bcb0292a3ef221c); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy20-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy20-left.hpp new file mode 100644 index 0000000..54a85c8 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy20-left.hpp @@ -0,0 +1,25 @@ +#ifndef GENERATED_9cbb57951de2c7c4730891b3788fb250_HPP +#define GENERATED_9cbb57951de2c7c4730891b3788fb250_HPP + +#include "bullet.hpp" + +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_0e6b9221191b393a92fed534b357420d_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_f6acfffffca822d03ca99c2ba84f212b_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_548dbbbf4a2af73e33d1418e8198842f_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); + + +extern const BulletStepFunc bullet_f62ccc5e7dd80cc45e8c716f3ff777dd_45873150e5988b429bcb0292a3ef221c[]; +const unsigned int bullet_f62ccc5e7dd80cc45e8c716f3ff777dd_45873150e5988b429bcb0292a3ef221c_size = 3; +extern const BulletStepFunc bullet_0cbe073c92094f2cd31b213454d9ec5f_45873150e5988b429bcb0292a3ef221c[]; +const unsigned int bullet_0cbe073c92094f2cd31b213454d9ec5f_45873150e5988b429bcb0292a3ef221c_size = 3; +extern const BulletStepFunc bullet_04544a8133115338033ab09567a1da45_45873150e5988b429bcb0292a3ef221c[]; +const unsigned int bullet_04544a8133115338033ab09567a1da45_45873150e5988b429bcb0292a3ef221c_size = 104; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy20-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy20-right.cpp new file mode 100644 index 0000000..c97efb1 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy20-right.cpp @@ -0,0 +1,176 @@ +// XXX uniqID XXX 9e086ca75252f14be2079197f41e0a5f XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy20-right.hpp" + +extern const BulletStepFunc bullet_f76dc3908bf227e63baf566a4b321a32_9e086ca75252f14be2079197f41e0a5f[] = { +stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_9e086ca75252f14be2079197f41e0a5f, +stepfunc_e9ec35a8b787bec56122ddc769b9f643_9e086ca75252f14be2079197f41e0a5f, +NULL}; +extern const BulletStepFunc bullet_fc90e3b1adbb60df2e62a7de988ab6e7_9e086ca75252f14be2079197f41e0a5f[] = { +stepfunc_f5a5b174ac927df596a7415eb8e38ffc_9e086ca75252f14be2079197f41e0a5f, +stepfunc_0e6b9221191b393a92fed534b357420d_9e086ca75252f14be2079197f41e0a5f, +NULL}; +extern const BulletStepFunc bullet_be54f017bf1283786172c2211956e5fb_9e086ca75252f14be2079197f41e0a5f[] = { +stepfunc_f6acfffffca822d03ca99c2ba84f212b_9e086ca75252f14be2079197f41e0a5f, +stepfunc_4fe964a87f9295526ea2bff094fd35fd_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_9e086ca75252f14be2079197f41e0a5f, +NULL}; +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = -(-(90 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (-(90 * 1.0 * 256 / 360));p->setRound(speed, life);} +} +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = -((90 * 1.0 * 256 / 360));p->setRound(speed, life);} +p->wait = static_cast(2); +} +void stepfunc_0e6b9221191b393a92fed534b357420d_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = ((90 * 1.0 * 256 / 360));p->setRound(speed, life);} +} +void stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_fc90e3b1adbb60df2e62a7de988ab6e7_9e086ca75252f14be2079197f41e0a5f); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_f76dc3908bf227e63baf566a4b321a32_9e086ca75252f14be2079197f41e0a5f); + } +} +p->wait = static_cast(3); +} +void stepfunc_f6acfffffca822d03ca99c2ba84f212b_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = 0 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(30); +} +void stepfunc_4fe964a87f9295526ea2bff094fd35fd_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((90 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(3); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_9e086ca75252f14be2079197f41e0a5f(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_be54f017bf1283786172c2211956e5fb_9e086ca75252f14be2079197f41e0a5f); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy20-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy20-right.hpp new file mode 100644 index 0000000..ef6bb8c --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy20-right.hpp @@ -0,0 +1,25 @@ +#ifndef GENERATED_f482b72978369c504d04b4d626083429_HPP +#define GENERATED_f482b72978369c504d04b4d626083429_HPP + +#include "bullet.hpp" + +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_0e6b9221191b393a92fed534b357420d_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_f6acfffffca822d03ca99c2ba84f212b_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_4fe964a87f9295526ea2bff094fd35fd_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); + + +extern const BulletStepFunc bullet_f76dc3908bf227e63baf566a4b321a32_9e086ca75252f14be2079197f41e0a5f[]; +const unsigned int bullet_f76dc3908bf227e63baf566a4b321a32_9e086ca75252f14be2079197f41e0a5f_size = 3; +extern const BulletStepFunc bullet_fc90e3b1adbb60df2e62a7de988ab6e7_9e086ca75252f14be2079197f41e0a5f[]; +const unsigned int bullet_fc90e3b1adbb60df2e62a7de988ab6e7_9e086ca75252f14be2079197f41e0a5f_size = 3; +extern const BulletStepFunc bullet_be54f017bf1283786172c2211956e5fb_9e086ca75252f14be2079197f41e0a5f[]; +const unsigned int bullet_be54f017bf1283786172c2211956e5fb_9e086ca75252f14be2079197f41e0a5f_size = 104; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy21.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy21.cpp new file mode 100644 index 0000000..9697d11 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy21.cpp @@ -0,0 +1,79 @@ +// XXX uniqID XXX c787821cbc147550a9bd0da97aff775e XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy21.hpp" + +extern const BulletStepFunc bullet_bf01d1221ae9777d09c2f97a8267fcfa_c787821cbc147550a9bd0da97aff775e[] = { +stepfunc_7e7dadc68e5534e49808867fe7fa818b_c787821cbc147550a9bd0da97aff775e, +stepfunc_ddb40bd414abc157ba0fa4b188258d38_c787821cbc147550a9bd0da97aff775e, +stepfunc_902359f4db9d675ea2dcd70e44697adb_c787821cbc147550a9bd0da97aff775e, +stepfunc_8fff89501dcb48caade16bb16deb7b61_c787821cbc147550a9bd0da97aff775e, +stepfunc_503028b87c9460063cf45c9685a9e31b_c787821cbc147550a9bd0da97aff775e, +NULL}; +void stepfunc_7ae946704ec367732b1d66d3c976f167_c787821cbc147550a9bd0da97aff775e(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((4 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(4 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_7e7dadc68e5534e49808867fe7fa818b_c787821cbc147550a9bd0da97aff775e(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 1 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(60); +} +void stepfunc_ddb40bd414abc157ba0fa4b188258d38_c787821cbc147550a9bd0da97aff775e(BulletInfo *p) { +{ + u16 life = static_cast(10); FixedPointNum speed = FixedPointNum(0 - p->getSpeed(), life);p->setAccel(speed, life);} +p->wait = static_cast(10); +} +void stepfunc_902359f4db9d675ea2dcd70e44697adb_c787821cbc147550a9bd0da97aff775e(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((0 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 5; ++i) { +stepfunc_7ae946704ec367732b1d66d3c976f167_c787821cbc147550a9bd0da97aff775e(p);} +{ + u16 life = static_cast(10); FixedPointNum speed = FixedPointNum(1 - p->getSpeed(), life);p->setAccel(speed, life);} +p->wait = static_cast(10); +} +void stepfunc_8fff89501dcb48caade16bb16deb7b61_c787821cbc147550a9bd0da97aff775e(BulletInfo *p) { +p->wait = static_cast(60); +} +void stepfunc_503028b87c9460063cf45c9685a9e31b_c787821cbc147550a9bd0da97aff775e(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_c787821cbc147550a9bd0da97aff775e(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_bf01d1221ae9777d09c2f97a8267fcfa_c787821cbc147550a9bd0da97aff775e); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy21.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy21.hpp new file mode 100644 index 0000000..d485eaf --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy21.hpp @@ -0,0 +1,19 @@ +#ifndef GENERATED_121be70d0e261ecdbb1c1a5a67c8da32_HPP +#define GENERATED_121be70d0e261ecdbb1c1a5a67c8da32_HPP + +#include "bullet.hpp" + +void stepfunc_7e7dadc68e5534e49808867fe7fa818b_c787821cbc147550a9bd0da97aff775e(BulletInfo *p); +void stepfunc_ddb40bd414abc157ba0fa4b188258d38_c787821cbc147550a9bd0da97aff775e(BulletInfo *p); +void stepfunc_902359f4db9d675ea2dcd70e44697adb_c787821cbc147550a9bd0da97aff775e(BulletInfo *p); +void stepfunc_7ae946704ec367732b1d66d3c976f167_c787821cbc147550a9bd0da97aff775e(BulletInfo *p); +void stepfunc_8fff89501dcb48caade16bb16deb7b61_c787821cbc147550a9bd0da97aff775e(BulletInfo *p); +void stepfunc_503028b87c9460063cf45c9685a9e31b_c787821cbc147550a9bd0da97aff775e(BulletInfo *p); + + +extern const BulletStepFunc bullet_bf01d1221ae9777d09c2f97a8267fcfa_c787821cbc147550a9bd0da97aff775e[]; +const unsigned int bullet_bf01d1221ae9777d09c2f97a8267fcfa_c787821cbc147550a9bd0da97aff775e_size = 6; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy22.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy22.cpp new file mode 100644 index 0000000..c3f1f64 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy22.cpp @@ -0,0 +1,43 @@ +// XXX uniqID XXX 09bfd4e879c0988929257729c81f9c4c XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy22.hpp" + +extern const BulletStepFunc bullet_a6a7b4134fce4987c3e0694674040be2_09bfd4e879c0988929257729c81f9c4c[] = { +stepfunc_d51c12748c59a4b79115fd413e988880_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_22b547e792b3eb30918822b358b0eaf5_09bfd4e879c0988929257729c81f9c4c, +NULL}; +void stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +p->wait = static_cast(10); +} +void stepfunc_d51c12748c59a4b79115fd413e988880_09bfd4e879c0988929257729c81f9c4c(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = 1 - p->getSpeed();p->setAccel(speed, life);} +} +void stepfunc_22b547e792b3eb30918822b358b0eaf5_09bfd4e879c0988929257729c81f9c4c(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_09bfd4e879c0988929257729c81f9c4c(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_a6a7b4134fce4987c3e0694674040be2_09bfd4e879c0988929257729c81f9c4c); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy22.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy22.hpp new file mode 100644 index 0000000..73c1ffd --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy22.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_3700f38cce5f83bdde728427c95115a1_HPP +#define GENERATED_3700f38cce5f83bdde728427c95115a1_HPP + +#include "bullet.hpp" + +void stepfunc_d51c12748c59a4b79115fd413e988880_09bfd4e879c0988929257729c81f9c4c(BulletInfo *p); +void stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c(BulletInfo *p); +void stepfunc_22b547e792b3eb30918822b358b0eaf5_09bfd4e879c0988929257729c81f9c4c(BulletInfo *p); + + +extern const BulletStepFunc bullet_a6a7b4134fce4987c3e0694674040be2_09bfd4e879c0988929257729c81f9c4c[]; +const unsigned int bullet_a6a7b4134fce4987c3e0694674040be2_09bfd4e879c0988929257729c81f9c4c_size = 11; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy23.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy23.cpp new file mode 100644 index 0000000..28abb27 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy23.cpp @@ -0,0 +1,50 @@ +// XXX uniqID XXX 318a5e347d432a1a29542cd45457692a XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy23.hpp" + +extern const BulletStepFunc bullet_72977f5a201704a116fed2c268b98db5_318a5e347d432a1a29542cd45457692a[] = { +stepfunc_b9f3746024faf71a948d02a3f58cba12_318a5e347d432a1a29542cd45457692a, +stepfunc_874e5b4a542f0f7f52ac24d8da866549_318a5e347d432a1a29542cd45457692a, +NULL}; +extern const BulletStepFunc bullet_da391036f4887058d231358ef78fb2f0_318a5e347d432a1a29542cd45457692a[] = { +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_318a5e347d432a1a29542cd45457692a, +NULL}; +void stepfunc_b9f3746024faf71a948d02a3f58cba12_318a5e347d432a1a29542cd45457692a(BulletInfo *p) { +p->wait = static_cast(10); +} +void stepfunc_874e5b4a542f0f7f52ac24d8da866549_318a5e347d432a1a29542cd45457692a(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +} +void stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((30 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, bullet_72977f5a201704a116fed2c268b98db5_318a5e347d432a1a29542cd45457692a); + } +} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_318a5e347d432a1a29542cd45457692a(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_318a5e347d432a1a29542cd45457692a(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_da391036f4887058d231358ef78fb2f0_318a5e347d432a1a29542cd45457692a); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy23.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy23.hpp new file mode 100644 index 0000000..4add87c --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy23.hpp @@ -0,0 +1,19 @@ +#ifndef GENERATED_32276bc0cbdf82650cbb922d27de3812_HPP +#define GENERATED_32276bc0cbdf82650cbb922d27de3812_HPP + +#include "bullet.hpp" + +void stepfunc_b9f3746024faf71a948d02a3f58cba12_318a5e347d432a1a29542cd45457692a(BulletInfo *p); +void stepfunc_874e5b4a542f0f7f52ac24d8da866549_318a5e347d432a1a29542cd45457692a(BulletInfo *p); +void stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_318a5e347d432a1a29542cd45457692a(BulletInfo *p); + + +extern const BulletStepFunc bullet_72977f5a201704a116fed2c268b98db5_318a5e347d432a1a29542cd45457692a[]; +const unsigned int bullet_72977f5a201704a116fed2c268b98db5_318a5e347d432a1a29542cd45457692a_size = 3; +extern const BulletStepFunc bullet_da391036f4887058d231358ef78fb2f0_318a5e347d432a1a29542cd45457692a[]; +const unsigned int bullet_da391036f4887058d231358ef78fb2f0_318a5e347d432a1a29542cd45457692a_size = 14; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy3.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy3.cpp new file mode 100644 index 0000000..c9c043c --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy3.cpp @@ -0,0 +1,106 @@ +// XXX uniqID XXX 8aedc8195754c4dd651f0a2a5a887566 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy3.hpp" + +extern const BulletStepFunc bullet_c794afbf6bb12730f94e683662793f8a_8aedc8195754c4dd651f0a2a5a887566[] = { +stepfunc_2baafa7d0855d17e7e46a0511e46b53e_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_2baafa7d0855d17e7e46a0511e46b53e_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_2baafa7d0855d17e7e46a0511e46b53e_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_2baafa7d0855d17e7e46a0511e46b53e_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_2baafa7d0855d17e7e46a0511e46b53e_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_1d55ec62a2027d75b6227dde03a208c4_8aedc8195754c4dd651f0a2a5a887566, +NULL}; +void stepfunc_e8715eab52808a20b8b433d39b707b83_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((18 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->getAngle() + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(3); +} +void stepfunc_2baafa7d0855d17e7e46a0511e46b53e_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 0.5 - p->getSpeed();p->setAccel(speed, life);} +p->wait = static_cast(1); +} +void stepfunc_a865c6c8b44585d6739ff7b1938fd90f_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p) { +p->wait = static_cast(30); +} +void stepfunc_1d55ec62a2027d75b6227dde03a208c4_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p) { +for (u32 i = 0; i < 20; ++i) { +stepfunc_e8715eab52808a20b8b433d39b707b83_8aedc8195754c4dd651f0a2a5a887566(p);} +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_8aedc8195754c4dd651f0a2a5a887566(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_c794afbf6bb12730f94e683662793f8a_8aedc8195754c4dd651f0a2a5a887566); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy3.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy3.hpp new file mode 100644 index 0000000..c46acbd --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy3.hpp @@ -0,0 +1,18 @@ +#ifndef GENERATED_42fdca2c7d7f7f3cddbac3e0b81e8342_HPP +#define GENERATED_42fdca2c7d7f7f3cddbac3e0b81e8342_HPP + +#include "bullet.hpp" + +void stepfunc_2baafa7d0855d17e7e46a0511e46b53e_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p); +void stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p); +void stepfunc_a865c6c8b44585d6739ff7b1938fd90f_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p); +void stepfunc_1d55ec62a2027d75b6227dde03a208c4_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p); +void stepfunc_e8715eab52808a20b8b433d39b707b83_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p); + + +extern const BulletStepFunc bullet_c794afbf6bb12730f94e683662793f8a_8aedc8195754c4dd651f0a2a5a887566[]; +const unsigned int bullet_c794afbf6bb12730f94e683662793f8a_8aedc8195754c4dd651f0a2a5a887566_size = 62; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy4.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy4.cpp new file mode 100644 index 0000000..5915f04 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy4.cpp @@ -0,0 +1,61 @@ +// XXX uniqID XXX dec11e16a9f1150c45961315fc55e25c XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy4.hpp" + +extern const BulletStepFunc bullet_5ad4cc59553d10a405cdbb198b001267_dec11e16a9f1150c45961315fc55e25c[] = { +stepfunc_496a177f09c6c70ac478a8ede25ddcfc_dec11e16a9f1150c45961315fc55e25c, +stepfunc_3ddde2bccad344bc5031effee359580c_dec11e16a9f1150c45961315fc55e25c, +stepfunc_3ddde2bccad344bc5031effee359580c_dec11e16a9f1150c45961315fc55e25c, +stepfunc_3ddde2bccad344bc5031effee359580c_dec11e16a9f1150c45961315fc55e25c, +stepfunc_3ddde2bccad344bc5031effee359580c_dec11e16a9f1150c45961315fc55e25c, +stepfunc_3ddde2bccad344bc5031effee359580c_dec11e16a9f1150c45961315fc55e25c, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_dec11e16a9f1150c45961315fc55e25c, +NULL}; +void stepfunc_687865cd066bd880f8eb8a7528e62995_dec11e16a9f1150c45961315fc55e25c(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((4 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(2 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(4 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_3ddde2bccad344bc5031effee359580c_dec11e16a9f1150c45961315fc55e25c(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 5; ++i) { +stepfunc_687865cd066bd880f8eb8a7528e62995_dec11e16a9f1150c45961315fc55e25c(p);} +p->wait = static_cast(10); +} +void stepfunc_496a177f09c6c70ac478a8ede25ddcfc_dec11e16a9f1150c45961315fc55e25c(BulletInfo *p) { +p->wait = static_cast(120); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_dec11e16a9f1150c45961315fc55e25c(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_dec11e16a9f1150c45961315fc55e25c(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_5ad4cc59553d10a405cdbb198b001267_dec11e16a9f1150c45961315fc55e25c); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy4.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy4.hpp new file mode 100644 index 0000000..2c2666c --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy4.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_b02a44f15e0384fdc0232cf27f8b877a_HPP +#define GENERATED_b02a44f15e0384fdc0232cf27f8b877a_HPP + +#include "bullet.hpp" + +void stepfunc_496a177f09c6c70ac478a8ede25ddcfc_dec11e16a9f1150c45961315fc55e25c(BulletInfo *p); +void stepfunc_3ddde2bccad344bc5031effee359580c_dec11e16a9f1150c45961315fc55e25c(BulletInfo *p); +void stepfunc_687865cd066bd880f8eb8a7528e62995_dec11e16a9f1150c45961315fc55e25c(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_dec11e16a9f1150c45961315fc55e25c(BulletInfo *p); + + +extern const BulletStepFunc bullet_5ad4cc59553d10a405cdbb198b001267_dec11e16a9f1150c45961315fc55e25c[]; +const unsigned int bullet_5ad4cc59553d10a405cdbb198b001267_dec11e16a9f1150c45961315fc55e25c_size = 8; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy5-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy5-left.cpp new file mode 100644 index 0000000..9699e1b --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy5-left.cpp @@ -0,0 +1,73 @@ +// XXX uniqID XXX 2c0732a900d9b3e707056d6023b22ceb XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy5-left.hpp" + +extern const BulletStepFunc bullet_51b979055bfa02264c7fa879417bd735_2c0732a900d9b3e707056d6023b22ceb[] = { +stepfunc_0f0b230a4ab3d82f5ea01408b71c431f_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_2c0732a900d9b3e707056d6023b22ceb, +NULL}; +void stepfunc_2015d27d528ae3d3a8365fb25a3ad1ea_2c0732a900d9b3e707056d6023b22ceb(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 5; ++i) { +stepfunc_2015d27d528ae3d3a8365fb25a3ad1ea_2c0732a900d9b3e707056d6023b22ceb(p);} +p->wait = static_cast(10); +} +void stepfunc_0f0b230a4ab3d82f5ea01408b71c431f_2c0732a900d9b3e707056d6023b22ceb(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((90 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 0.5 - p->getSpeed();p->setAccel(speed, life);} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_2c0732a900d9b3e707056d6023b22ceb(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_2c0732a900d9b3e707056d6023b22ceb(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_51b979055bfa02264c7fa879417bd735_2c0732a900d9b3e707056d6023b22ceb); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy5-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy5-left.hpp new file mode 100644 index 0000000..fc5c8fb --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy5-left.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_2d3d0b51e97cd6c95145e308775e4ce5_HPP +#define GENERATED_2d3d0b51e97cd6c95145e308775e4ce5_HPP + +#include "bullet.hpp" + +void stepfunc_0f0b230a4ab3d82f5ea01408b71c431f_2c0732a900d9b3e707056d6023b22ceb(BulletInfo *p); +void stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb(BulletInfo *p); +void stepfunc_2015d27d528ae3d3a8365fb25a3ad1ea_2c0732a900d9b3e707056d6023b22ceb(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_2c0732a900d9b3e707056d6023b22ceb(BulletInfo *p); + + +extern const BulletStepFunc bullet_51b979055bfa02264c7fa879417bd735_2c0732a900d9b3e707056d6023b22ceb[]; +const unsigned int bullet_51b979055bfa02264c7fa879417bd735_2c0732a900d9b3e707056d6023b22ceb_size = 33; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy5-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy5-right.cpp new file mode 100644 index 0000000..810f61e --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy5-right.cpp @@ -0,0 +1,73 @@ +// XXX uniqID XXX 59b8e2343c4e9df70d90f97eb1458c37 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy5-right.hpp" + +extern const BulletStepFunc bullet_15795ebc0cd3e231df26f50c165eab4c_59b8e2343c4e9df70d90f97eb1458c37[] = { +stepfunc_822e838f92af219607f84c9e4032b909_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_59b8e2343c4e9df70d90f97eb1458c37, +NULL}; +void stepfunc_2015d27d528ae3d3a8365fb25a3ad1ea_59b8e2343c4e9df70d90f97eb1458c37(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +for (u32 i = 0; i < 5; ++i) { +stepfunc_2015d27d528ae3d3a8365fb25a3ad1ea_59b8e2343c4e9df70d90f97eb1458c37(p);} +p->wait = static_cast(10); +} +void stepfunc_822e838f92af219607f84c9e4032b909_59b8e2343c4e9df70d90f97eb1458c37(BulletInfo *p) { +{ + u16 life = static_cast(1); FixedPointNum speed = (256 * -90 / 360) + ((270 * 1.0 * 256 / 360)) - p->getAngle();p->setRound(speed, life);} +{ + u16 life = static_cast(1); FixedPointNum speed = 0.5 - p->getSpeed();p->setAccel(speed, life);} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_59b8e2343c4e9df70d90f97eb1458c37(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_59b8e2343c4e9df70d90f97eb1458c37(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_15795ebc0cd3e231df26f50c165eab4c_59b8e2343c4e9df70d90f97eb1458c37); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy5-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy5-right.hpp new file mode 100644 index 0000000..4b64080 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy5-right.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_fbbe205fe54a188294db8a6e5593fe23_HPP +#define GENERATED_fbbe205fe54a188294db8a6e5593fe23_HPP + +#include "bullet.hpp" + +void stepfunc_822e838f92af219607f84c9e4032b909_59b8e2343c4e9df70d90f97eb1458c37(BulletInfo *p); +void stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37(BulletInfo *p); +void stepfunc_2015d27d528ae3d3a8365fb25a3ad1ea_59b8e2343c4e9df70d90f97eb1458c37(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_59b8e2343c4e9df70d90f97eb1458c37(BulletInfo *p); + + +extern const BulletStepFunc bullet_15795ebc0cd3e231df26f50c165eab4c_59b8e2343c4e9df70d90f97eb1458c37[]; +const unsigned int bullet_15795ebc0cd3e231df26f50c165eab4c_59b8e2343c4e9df70d90f97eb1458c37_size = 33; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy6.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy6.cpp new file mode 100644 index 0000000..c272fdc --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy6.cpp @@ -0,0 +1,1032 @@ +// XXX uniqID XXX 02dd1bd4f9776189a750840ac63a62e3 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy6.hpp" + +extern const BulletStepFunc bullet_1bf5b6d52633688731bc37f215e484cb_02dd1bd4f9776189a750840ac63a62e3[] = { +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_02dd1bd4f9776189a750840ac63a62e3, +NULL}; +void stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((10 * 1.0 * 256 / 360)); p->lastBulletSpeed = (4); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + (-(10 * 1.0 * 256 / 360)); p->lastBulletSpeed = (4); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(1); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_02dd1bd4f9776189a750840ac63a62e3(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_02dd1bd4f9776189a750840ac63a62e3(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_1bf5b6d52633688731bc37f215e484cb_02dd1bd4f9776189a750840ac63a62e3); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy6.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy6.hpp new file mode 100644 index 0000000..ed61ca6 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy6.hpp @@ -0,0 +1,15 @@ +#ifndef GENERATED_96fb4f69067a5860bc3adec24d3cd984_HPP +#define GENERATED_96fb4f69067a5860bc3adec24d3cd984_HPP + +#include "bullet.hpp" + +void stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_02dd1bd4f9776189a750840ac63a62e3(BulletInfo *p); + + +extern const BulletStepFunc bullet_1bf5b6d52633688731bc37f215e484cb_02dd1bd4f9776189a750840ac63a62e3[]; +const unsigned int bullet_1bf5b6d52633688731bc37f215e484cb_02dd1bd4f9776189a750840ac63a62e3_size = 1002; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy7.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy7.cpp new file mode 100644 index 0000000..a2e8576 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy7.cpp @@ -0,0 +1,641 @@ +// XXX uniqID XXX 4b2dc6f3a66d16b089e4ecdb71e96d99 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy7.hpp" + +extern const BulletStepFunc bullet_9ac334e029be6ea026fbd27d03d5d9ce_4b2dc6f3a66d16b089e4ecdb71e96d99[] = { +stepfunc_496a177f09c6c70ac478a8ede25ddcfc_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_4b2dc6f3a66d16b089e4ecdb71e96d99, +NULL}; +void stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = SelfPos::getAngle(p) + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (4); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(1); +} +void stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99(BulletInfo *p) { +p->wait = static_cast(30); +} +void stepfunc_496a177f09c6c70ac478a8ede25ddcfc_4b2dc6f3a66d16b089e4ecdb71e96d99(BulletInfo *p) { +p->wait = static_cast(120); +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_4b2dc6f3a66d16b089e4ecdb71e96d99(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_4b2dc6f3a66d16b089e4ecdb71e96d99(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_9ac334e029be6ea026fbd27d03d5d9ce_4b2dc6f3a66d16b089e4ecdb71e96d99); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy7.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy7.hpp new file mode 100644 index 0000000..8132ab1 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy7.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_dc7fafdc46861e38366376c6f66b70eb_HPP +#define GENERATED_dc7fafdc46861e38366376c6f66b70eb_HPP + +#include "bullet.hpp" + +void stepfunc_496a177f09c6c70ac478a8ede25ddcfc_4b2dc6f3a66d16b089e4ecdb71e96d99(BulletInfo *p); +void stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99(BulletInfo *p); +void stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_4b2dc6f3a66d16b089e4ecdb71e96d99(BulletInfo *p); + + +extern const BulletStepFunc bullet_9ac334e029be6ea026fbd27d03d5d9ce_4b2dc6f3a66d16b089e4ecdb71e96d99[]; +const unsigned int bullet_9ac334e029be6ea026fbd27d03d5d9ce_4b2dc6f3a66d16b089e4ecdb71e96d99_size = 609; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy8-bottom.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy8-bottom.cpp new file mode 100644 index 0000000..0a7aec2 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy8-bottom.cpp @@ -0,0 +1,242 @@ +// XXX uniqID XXX 8992f4049185e5d6d49bff5730ce81d7 XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy8-bottom.hpp" + +extern const BulletStepFunc bullet_9aa85ea973367bca04d8505002de6f85_8992f4049185e5d6d49bff5730ce81d7[] = { +stepfunc_afd63198c9782f7461437937ebea8ef8_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_8992f4049185e5d6d49bff5730ce81d7, +NULL}; +void stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((3 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(1); +} +void stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + (-(3 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(1); +} +void stepfunc_afd63198c9782f7461437937ebea8ef8_8992f4049185e5d6d49bff5730ce81d7(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((180 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_8992f4049185e5d6d49bff5730ce81d7(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_8992f4049185e5d6d49bff5730ce81d7(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_9aa85ea973367bca04d8505002de6f85_8992f4049185e5d6d49bff5730ce81d7); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy8-bottom.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy8-bottom.hpp new file mode 100644 index 0000000..6b7b37e --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy8-bottom.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_0e2d64f4a879232bf8905230ced095e0_HPP +#define GENERATED_0e2d64f4a879232bf8905230ced095e0_HPP + +#include "bullet.hpp" + +void stepfunc_afd63198c9782f7461437937ebea8ef8_8992f4049185e5d6d49bff5730ce81d7(BulletInfo *p); +void stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7(BulletInfo *p); +void stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_8992f4049185e5d6d49bff5730ce81d7(BulletInfo *p); + + +extern const BulletStepFunc bullet_9aa85ea973367bca04d8505002de6f85_8992f4049185e5d6d49bff5730ce81d7[]; +const unsigned int bullet_9aa85ea973367bca04d8505002de6f85_8992f4049185e5d6d49bff5730ce81d7_size = 203; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy8-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy8-left.cpp new file mode 100644 index 0000000..f56945e --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy8-left.cpp @@ -0,0 +1,242 @@ +// XXX uniqID XXX afbc3f1599e7eb57bfa4eb2b00bb820c XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy8-left.hpp" + +extern const BulletStepFunc bullet_67c9f774afbe33ed9d2cdedd06d09151_afbc3f1599e7eb57bfa4eb2b00bb820c[] = { +stepfunc_1b49a612a980041f2ce624a717b897c8_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_afbc3f1599e7eb57bfa4eb2b00bb820c, +NULL}; +void stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((3 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(1); +} +void stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + (-(3 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(1); +} +void stepfunc_1b49a612a980041f2ce624a717b897c8_afbc3f1599e7eb57bfa4eb2b00bb820c(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((270 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_afbc3f1599e7eb57bfa4eb2b00bb820c(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_afbc3f1599e7eb57bfa4eb2b00bb820c(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_67c9f774afbe33ed9d2cdedd06d09151_afbc3f1599e7eb57bfa4eb2b00bb820c); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy8-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy8-left.hpp new file mode 100644 index 0000000..89bfc89 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy8-left.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_a4f17afc295a07eadbf1fb07160fa256_HPP +#define GENERATED_a4f17afc295a07eadbf1fb07160fa256_HPP + +#include "bullet.hpp" + +void stepfunc_1b49a612a980041f2ce624a717b897c8_afbc3f1599e7eb57bfa4eb2b00bb820c(BulletInfo *p); +void stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c(BulletInfo *p); +void stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_afbc3f1599e7eb57bfa4eb2b00bb820c(BulletInfo *p); + + +extern const BulletStepFunc bullet_67c9f774afbe33ed9d2cdedd06d09151_afbc3f1599e7eb57bfa4eb2b00bb820c[]; +const unsigned int bullet_67c9f774afbe33ed9d2cdedd06d09151_afbc3f1599e7eb57bfa4eb2b00bb820c_size = 203; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy8-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy8-right.cpp new file mode 100644 index 0000000..f7be0d2 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy8-right.cpp @@ -0,0 +1,242 @@ +// XXX uniqID XXX 5db72b392e4f591ce2f87d39746f9aec XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy8-right.hpp" + +extern const BulletStepFunc bullet_27544f8e23814b84f8f921290ce2d136_5db72b392e4f591ce2f87d39746f9aec[] = { +stepfunc_22c9d9af7cfc82da48b72685bd17f252_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_5db72b392e4f591ce2f87d39746f9aec, +NULL}; +void stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((3 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(1); +} +void stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + (-(3 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(1); +} +void stepfunc_22c9d9af7cfc82da48b72685bd17f252_5db72b392e4f591ce2f87d39746f9aec(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((90 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_5db72b392e4f591ce2f87d39746f9aec(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_5db72b392e4f591ce2f87d39746f9aec(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_27544f8e23814b84f8f921290ce2d136_5db72b392e4f591ce2f87d39746f9aec); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy8-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy8-right.hpp new file mode 100644 index 0000000..9cb634a --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy8-right.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_177308dd09a2d4e2c556c3f90f28ad98_HPP +#define GENERATED_177308dd09a2d4e2c556c3f90f28ad98_HPP + +#include "bullet.hpp" + +void stepfunc_22c9d9af7cfc82da48b72685bd17f252_5db72b392e4f591ce2f87d39746f9aec(BulletInfo *p); +void stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec(BulletInfo *p); +void stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_5db72b392e4f591ce2f87d39746f9aec(BulletInfo *p); + + +extern const BulletStepFunc bullet_27544f8e23814b84f8f921290ce2d136_5db72b392e4f591ce2f87d39746f9aec[]; +const unsigned int bullet_27544f8e23814b84f8f921290ce2d136_5db72b392e4f591ce2f87d39746f9aec_size = 203; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy9-left.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy9-left.cpp new file mode 100644 index 0000000..b8c0db6 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy9-left.cpp @@ -0,0 +1,83 @@ +// XXX uniqID XXX f107c17d1c894e586e7489862f23d92e XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy9-left.hpp" + +extern const BulletStepFunc bullet_6bc9aeb041719d9dcbdb390d5bc1bc85_f107c17d1c894e586e7489862f23d92e[] = { +stepfunc_e02265704f533da974de467a0920f619_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_f107c17d1c894e586e7489862f23d92e, +NULL}; +void stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + (-(5 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(2); +} +void stepfunc_e02265704f533da974de467a0920f619_f107c17d1c894e586e7489862f23d92e(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((260 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_f107c17d1c894e586e7489862f23d92e(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_f107c17d1c894e586e7489862f23d92e(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_6bc9aeb041719d9dcbdb390d5bc1bc85_f107c17d1c894e586e7489862f23d92e); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy9-left.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy9-left.hpp new file mode 100644 index 0000000..559e70d --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy9-left.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_7ce6163812596ebbe247bd41a8e4dd9f_HPP +#define GENERATED_7ce6163812596ebbe247bd41a8e4dd9f_HPP + +#include "bullet.hpp" + +void stepfunc_e02265704f533da974de467a0920f619_f107c17d1c894e586e7489862f23d92e(BulletInfo *p); +void stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_f107c17d1c894e586e7489862f23d92e(BulletInfo *p); + + +extern const BulletStepFunc bullet_6bc9aeb041719d9dcbdb390d5bc1bc85_f107c17d1c894e586e7489862f23d92e[]; +const unsigned int bullet_6bc9aeb041719d9dcbdb390d5bc1bc85_f107c17d1c894e586e7489862f23d92e_size = 23; + + +#endif + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy9-right.cpp b/vulkanon/generator/data/code/vulkanon/l0_enemy9-right.cpp new file mode 100644 index 0000000..73e0721 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy9-right.cpp @@ -0,0 +1,83 @@ +// XXX uniqID XXX 444e03c42d0db749411ffb80b473544e XXX + +#include +#include "bullet.hpp" +#include "fixed.hpp" + + +#include "vulkanon/l0_enemy9-right.hpp" + +extern const BulletStepFunc bullet_8a0704ffc1a026725ca3cfa9bc986f73_444e03c42d0db749411ffb80b473544e[] = { +stepfunc_a8039100d814a18bac47c45ffcba8e1f_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_444e03c42d0db749411ffb80b473544e, +NULL}; +void stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((5 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = (1); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +{ + BulletInfo *bi; p->lastBulletAngle = p->lastBulletAngle + ((0 * 1.0 * 256 / 360)); p->lastBulletSpeed = p->lastBulletSpeed + (0.2); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +p->wait = static_cast(2); +} +void stepfunc_a8039100d814a18bac47c45ffcba8e1f_444e03c42d0db749411ffb80b473544e(BulletInfo *p) { +{ + BulletInfo *bi; p->lastBulletAngle = (256 * -90 / 360) + ((100 * 1.0 * 256 / 360)); p->lastBulletSpeed = (2.5); bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, StepFunc::nullStepFuncList); + } +} +} +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_444e03c42d0db749411ffb80b473544e(BulletInfo *p) { +ListBullets::stepFuncDrop(p);} + + +BulletInfo *genBulletFunc_444e03c42d0db749411ffb80b473544e(FixedPointNum posx, FixedPointNum posy) { BulletInfo * bi; bi = ListBullets::makeNewBullet(); if (bi != NULL) { bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, bullet_8a0704ffc1a026725ca3cfa9bc986f73_444e03c42d0db749411ffb80b473544e); + } +return bi;} + + diff --git a/vulkanon/generator/data/code/vulkanon/l0_enemy9-right.hpp b/vulkanon/generator/data/code/vulkanon/l0_enemy9-right.hpp new file mode 100644 index 0000000..ba08072 --- /dev/null +++ b/vulkanon/generator/data/code/vulkanon/l0_enemy9-right.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_2adb0eacf00d2636f7f8b32a81b8b69f_HPP +#define GENERATED_2adb0eacf00d2636f7f8b32a81b8b69f_HPP + +#include "bullet.hpp" + +void stepfunc_a8039100d814a18bac47c45ffcba8e1f_444e03c42d0db749411ffb80b473544e(BulletInfo *p); +void stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_444e03c42d0db749411ffb80b473544e(BulletInfo *p); + + +extern const BulletStepFunc bullet_8a0704ffc1a026725ca3cfa9bc986f73_444e03c42d0db749411ffb80b473544e[]; +const unsigned int bullet_8a0704ffc1a026725ca3cfa9bc986f73_444e03c42d0db749411ffb80b473544e_size = 23; + + +#endif + diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss0.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss0.xml new file mode 100644 index 0000000..cb1e7c5 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss0.xml @@ -0,0 +1,3 @@ + + +180111400.111202023510225-202030$10.5$1+20$1-20 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss1.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss1.xml new file mode 100644 index 0000000..7db92ab --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss1.xml @@ -0,0 +1,3 @@ + + +010111020019011801270141110 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss10.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss10.xml new file mode 100644 index 0000000..eec4206 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss10.xml @@ -0,0 +1,3 @@ + + +1999911603020901801802-90180320$22-$112$11 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss2.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss2.xml new file mode 100644 index 0000000..8f4907f --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss2.xml @@ -0,0 +1,3 @@ + + +18011130012001500.220-2040-4060-6080-8060 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss3-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss3-left.xml new file mode 100644 index 0000000..4e0be25 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss3-left.xml @@ -0,0 +1,3 @@ + + +16012101-18003563$113 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss3-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss3-right.xml new file mode 100644 index 0000000..5bfebdb --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss3-right.xml @@ -0,0 +1,3 @@ + + +2001210-1180035-63$113 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss4.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss4.xml new file mode 100644 index 0000000..fe461be --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss4.xml @@ -0,0 +1,3 @@ + + +6012014016018020022024030$12$11$12$13$14$15$10.1$2*221300141 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss5-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss5-left.xml new file mode 100644 index 0000000..a7184b0 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss5-left.xml @@ -0,0 +1,3 @@ + + +3605-3220*$rand013 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss5-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss5-right.xml new file mode 100644 index 0000000..3e87514 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss5-right.xml @@ -0,0 +1,3 @@ + + +36053220*$rand013 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss6.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss6.xml new file mode 100644 index 0000000..8e062c2 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss6.xml @@ -0,0 +1,3 @@ + + +2139999303002202-223 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss7.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss7.xml new file mode 100644 index 0000000..89de8a6 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss7.xml @@ -0,0 +1,3 @@ + + +18010.11120023209002-9032002-$112$11 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss8-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss8-left.xml new file mode 100644 index 0000000..ccf6255 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss8-left.xml @@ -0,0 +1,3 @@ + + +1801213001200260-421 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss8-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss8-right.xml new file mode 100644 index 0000000..62c0dce --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss8-right.xml @@ -0,0 +1,3 @@ + + +1801213001200260421 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_boss9.xml b/vulkanon/generator/data/xml/vulkanon/l0_boss9.xml new file mode 100644 index 0000000..8087732 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_boss9.xml @@ -0,0 +1,3 @@ + + +19999011302090002-900901801802-90180320$22-$112$11 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy0.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy0.xml new file mode 100644 index 0000000..d1bd841 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy0.xml @@ -0,0 +1,3 @@ + + +18011120501100219182 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy1-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy1-left.xml new file mode 100644 index 0000000..3488acf --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy1-left.xml @@ -0,0 +1,3 @@ + + +9010.51302001500.220-2040-4060-6080-8060 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy1-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy1-right.xml new file mode 100644 index 0000000..328c03d --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy1-right.xml @@ -0,0 +1,3 @@ + + +27010.51302001500.220-2040-4060-6080-8060 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy10.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy10.xml new file mode 100644 index 0000000..fee0141 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy10.xml @@ -0,0 +1,3 @@ + + +180111201013015017019021023030$12$1$1$1$1$1$10.25 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy11-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy11-left.xml new file mode 100644 index 0000000..2bd5353 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy11-left.xml @@ -0,0 +1,3 @@ + + +-90121211202090-902$12$rand*501 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy11-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy11-right.xml new file mode 100644 index 0000000..31797b9 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy11-right.xml @@ -0,0 +1,3 @@ + + +90121211202090-902$12$rand*501 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy12.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy12.xml new file mode 100644 index 0000000..5c6575b --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy12.xml @@ -0,0 +1,3 @@ + + +021000.5 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy13-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy13-left.xml new file mode 100644 index 0000000..abaaadf --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy13-left.xml @@ -0,0 +1,3 @@ + + +$rand*36012-39999410050902-9023 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy13-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy13-right.xml new file mode 100644 index 0000000..89139e4 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy13-right.xml @@ -0,0 +1,3 @@ + + +$rand*3601239999410050902-9023 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy14-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy14-left.xml new file mode 100644 index 0000000..b1501d9 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy14-left.xml @@ -0,0 +1,3 @@ + + +100-120210 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy14-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy14-right.xml new file mode 100644 index 0000000..c569caa --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy14-right.xml @@ -0,0 +1,3 @@ + + +100120210 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy15-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy15-left.xml new file mode 100644 index 0000000..6de310e --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy15-left.xml @@ -0,0 +1,3 @@ + + +18022060-2210 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy15-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy15-right.xml new file mode 100644 index 0000000..7bba96a --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy15-right.xml @@ -0,0 +1,3 @@ + + +180220602210 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy16.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy16.xml new file mode 100644 index 0000000..5b49521 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy16.xml @@ -0,0 +1,3 @@ + + +90120256224025-6210 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy17.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy17.xml new file mode 100644 index 0000000..e854a71 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy17.xml @@ -0,0 +1,3 @@ + + +1801112051352225228 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy18-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy18-left.xml new file mode 100644 index 0000000..8d9f5aa --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy18-left.xml @@ -0,0 +1,3 @@ + + +18010.5120360-330-0.50-0.50-0.50-0.51 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy18-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy18-right.xml new file mode 100644 index 0000000..9c733d1 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy18-right.xml @@ -0,0 +1,3 @@ + + +18010.5120360330-0.50-0.50-0.50-0.51 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy19-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy19-left.xml new file mode 100644 index 0000000..81c6762 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy19-left.xml @@ -0,0 +1,3 @@ + + +(4/2.0)1-29999300180(6/2.0)135(6/2.0)2 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy19-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy19-right.xml new file mode 100644 index 0000000..553d84b --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy19-right.xml @@ -0,0 +1,3 @@ + + +(4/2.0)129999300180(6/2.0)225(6/2.0)2 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy2.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy2.xml new file mode 100644 index 0000000..99b1c77 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy2.xml @@ -0,0 +1,3 @@ + + +11180160517039235 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy20-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy20-left.xml new file mode 100644 index 0000000..d8b67ce --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy20-left.xml @@ -0,0 +1,3 @@ + + +0130270231009002-90302-$112$11 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy20-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy20-right.xml new file mode 100644 index 0000000..1bba57a --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy20-right.xml @@ -0,0 +1,3 @@ + + +013090231009002-90302-$112$11 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy21.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy21.xml new file mode 100644 index 0000000..18cd6a8 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy21.xml @@ -0,0 +1,3 @@ + + +18011160010100101500.12040-20-40110106002 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy22.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy22.xml new file mode 100644 index 0000000..c770f08 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy22.xml @@ -0,0 +1,3 @@ + + +118011001 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy23.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy23.xml new file mode 100644 index 0000000..a0252f9 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy23.xml @@ -0,0 +1,3 @@ + + +12301101801 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy3.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy3.xml new file mode 100644 index 0000000..d7759eb --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy3.xml @@ -0,0 +1,3 @@ + + +5010.511100233020181 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy4.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy4.xml new file mode 100644 index 0000000..1e66353 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy4.xml @@ -0,0 +1,3 @@ + + +120501500.52040-20-4010 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy5-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy5-left.xml new file mode 100644 index 0000000..d6c4df0 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy5-left.xml @@ -0,0 +1,3 @@ + + +9010.513010180151800.2 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy5-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy5-right.xml new file mode 100644 index 0000000..2938c54 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy5-right.xml @@ -0,0 +1,3 @@ + + +27010.513010180151800.2 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy6.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy6.xml new file mode 100644 index 0000000..8de1038 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy6.xml @@ -0,0 +1,3 @@ + + +1000104-1041 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy7.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy7.xml new file mode 100644 index 0000000..ac22e96 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy7.xml @@ -0,0 +1,3 @@ + + +120610004130 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy8-bottom.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy8-bottom.xml new file mode 100644 index 0000000..13694dd --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy8-bottom.xml @@ -0,0 +1,3 @@ + + +180210532110-3215321 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy8-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy8-left.xml new file mode 100644 index 0000000..d054fb1 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy8-left.xml @@ -0,0 +1,3 @@ + + +270210532110-3215321 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy8-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy8-right.xml new file mode 100644 index 0000000..224580c --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy8-right.xml @@ -0,0 +1,3 @@ + + +90210532110-3215321 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy9-left.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy9-left.xml new file mode 100644 index 0000000..33fa32d --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy9-left.xml @@ -0,0 +1,3 @@ + + +2602.520-52.520100.200.200.200.200.200.2 diff --git a/vulkanon/generator/data/xml/vulkanon/l0_enemy9-right.xml b/vulkanon/generator/data/xml/vulkanon/l0_enemy9-right.xml new file mode 100644 index 0000000..6e78dd4 --- /dev/null +++ b/vulkanon/generator/data/xml/vulkanon/l0_enemy9-right.xml @@ -0,0 +1,3 @@ + + +1002.52052.520100.200.200.200.200.200.2 diff --git a/vulkanon/generator/make-barragelist.php b/vulkanon/generator/make-barragelist.php new file mode 100755 index 0000000..55617f7 --- /dev/null +++ b/vulkanon/generator/make-barragelist.php @@ -0,0 +1,148 @@ +#!/usr/bin/env php + $struct) { + if (is_array($struct)) { + $filename = $struct[3]; + if ($filename) { + $uniqID = getUniqID("data/code/vulkanon/${filename}"); + if ($uniqID == NULL) { + error_log("$$$ [ERROR] ($filename is not found) $$$"); + } + $list[$key]['uniqID'] = $uniqID; + print "BulletInfo *genBulletFunc_{$uniqID}(FixedPointNum posx, FixedPointNum posy);\n"; + } + } + } + + print "const BarrageInfo {$name}[] = { \n"; + foreach ($list as $struct) { + if (is_array($struct)) { + if (preg_match("/^ACTIONTYPE_/", $struct[0])) { + print "S{$struct[0]}S"; + + print "{ 0, 0, 0, NULL, {$struct[0]}, {$struct[1]} }, \n"; + + } else { + $x = intval($struct[0]); + $y = intval($struct[1]); + $life = intval($struct[2]); + $uniqID = $struct['uniqID']; + + print "{ {$x}, {$y}, {$life}, genBulletFunc_{$uniqID}, ACTIONTYPE_BULLET_NORMAL, 0 }, \n"; + } + } else { + if (preg_match("/^ACTIONTYPE_/", $struct)) { + print "{ 0, 0, 0, NULL, {$struct}, 0 }, \n"; + } else { + print "{ 0, 0, 0, NULL, ACTIONTYPE_WAIT, {$struct} }, \n"; + } + } + } + print "{ 0, 0, 0, NULL, END_OF_ACTIONTYPE, 0 }, }; \n\n"; +} + +function outputList($name) { + print "const BarrageInfo * const {$name}[] = { \n"; + foreach ($GLOBALS['listName'] as $n) { + print " $n, "; + } + print "NULL, }; \n\n"; +} + +print "#endif\n"; + +?> diff --git a/vulkanon/generator/php/cleanup.php b/vulkanon/generator/php/cleanup.php new file mode 100755 index 0000000..b6efe7b --- /dev/null +++ b/vulkanon/generator/php/cleanup.php @@ -0,0 +1,183 @@ +#!/usr/bin/env php +document = $doc; + $this->bulletmlNode = Common::getBulletMLNode($this->document); + } + + function doConv() { + while ($this->cleanupTopLevelNode()); + while ($this->fixActionlessRepeat()); + while ($this->flattenAction()); + while ($this->fixParentlessBulletElement()); + while ($this->moveBulletInfo2Fire()); + $this->checkRepeatContainWait(); + $this->setUniqID(); + + return $this->document; + } + + function cleanupTopLevelNode() { + foreach ($this->bulletmlNode->childNodes as $elem) { + if ($elem->nodeName == 'action' && + preg_match('/^top/', $elem->getAttribute('label'))) { + // remove last if exist. + while ($elem->lastChild->nodeName == 'wait') { + $elem->removeChild($elem->lastChild); + } + + // put vanish for toplevel action. + $elem->appendChild($this->document->createElement('vanish')); + + $newbullet = $this->document->createElement('bullet'); + $newbullet->appendChild($elem->cloneNode(true)); + $newfire = $this->document->createElement('topFire'); + $newfire->appendChild($newbullet); + $this->bulletmlNode->replaceChild($newfire, $elem); + return true; + + } else { + if ($elem->nodeName != 'topFire') { + $this->bulletmlNode->removeChild($elem); + return true; + } + } + } + return false; + } + + /** + * if has no element, then push . + * example: + * + * ... + * ... ** this tag must be child of + * ... ** this tag must be child of + * + */ + function fixActionlessRepeat() { + foreach ($this->document->getElementsByTagName('repeat') as $elem) { + $newAction = $this->document->createElement('action'); + $invalidNodes = array(); + foreach ($elem->childNodes as $e) { + switch ($e->nodeName) { + case 'times': + case 'action': + // do nothing + break; + + default: + $newAction->appendChild($e->cloneNode(true)); + $invalidNodes[] = $e; + break; + } + } + if ($newAction->hasChildNodes()) { + foreach($invalidNodes as $e) { + $elem->removeChild($e); + } + $elem->appendChild($newAction); + return true; + } + } + return false; + } + + function flattenAction() { + foreach ($this->document->getElementsByTagName('action') as $elem) { + $parentNode = $elem->parentNode; + + if ($parentNode->nodeName == 'action') { + $childNodes = array(); + foreach ($elem->childNodes as $e) { + $childNodes[] = $e->cloneNode(true); + } + foreach ($childNodes as $e) { + $parentNode->insertBefore($e, $elem); + } + $parentNode->removeChild($elem); + return true; + } + } + return false; + } + + /** + * if 's parent != , then push . + */ + function fixParentlessBulletElement() { + foreach ($this->document->getElementsByTagName('bullet') as $elem) { + if ($elem->parentNode->nodeName != 'fire') { + $fireElem = $this->document->createElement('fire'); + $fireElem->appendChild($elem->cloneNode(true)); + $elem->parentNode->replaceChild($fireElem, $elem); + return true; + } + } + return false; + } + + /** + * Make & tags in To parent . + * + */ + function moveBulletInfo2Fire() { + foreach ($this->document->getElementsByTagName('bullet') as $elem) { + if (! $elem->hasChildNodes()) { + continue; + } + foreach ($elem->childNodes as $e) { + switch ($e->nodeName) { + case 'speed': + case 'direction': + $elem->parentNode->insertBefore($e->cloneNode(true), $elem); + $elem->removeChild($e); + return true; + } + } + } + return false; + } + + function checkRepeatContainWait() { + foreach ($this->document->getElementsByTagName('repeat') as $elem) { + if ($elem->getElementsByTagName('wait')->length == 0) { + $elem->setAttribute('nowait', 'true'); + } + } + } + + function setUniqID() { + $uniqID = md5($this->document->saveXML()); + $this->document->getElementsByTagName('bulletml')->item(0)->setAttribute('uniqID', $uniqID); + } +} + +if (realpath($argv[0]) == __FILE__) { + $xmlfile = Common::getArg1(); + + $doc = new DOMDocument; + $doc->preserveWhiteSpace = false; + $doc->load($xmlfile); + + $cleanup = new Cleanup($doc); + $doc = $cleanup->doConv(); + + $destfile = Common::getTmpFile("02-cleanup", $xmlfile); + if ($xmlfile != $destfile) { + @mkdir(dirname($destfile), 0700, true); + $doc->save($destfile); + } else { + print $doc->saveXML(); + } +} + +?> diff --git a/vulkanon/generator/php/cutcomment.php b/vulkanon/generator/php/cutcomment.php new file mode 100755 index 0000000..75828a3 --- /dev/null +++ b/vulkanon/generator/php/cutcomment.php @@ -0,0 +1,16 @@ +#!/usr/bin/env php +/', '', $xmlbody); + +$destfile = Common::getTmpFile("00-cutcomment", $xmlfile); +@mkdir(dirname($destfile), 0700, true); +file_put_contents($destfile, $xmlbody); + +?> diff --git a/vulkanon/generator/php/gen-callingvector.php b/vulkanon/generator/php/gen-callingvector.php new file mode 100755 index 0000000..42b1226 --- /dev/null +++ b/vulkanon/generator/php/gen-callingvector.php @@ -0,0 +1,153 @@ +#!/usr/bin/env php +document = $doc; + $this->xmlfile = $xmlfile; + + $this->listDefinition = array(); + $this->hashStepFuncVector = array(); + } + + function doConv() { + $filename = Common::getTmpFile("05-gen-callingvector", $this->xmlfile); + @mkdir(dirname($filename), 0700, true); + + $barrageName = basename($filename, '.xml'); + $filename = sprintf("%s/%s", dirname($filename), $barrageName); + + $this->cppFileHandle = fopen("$filename.cpp", "w"); + $this->hppFileHandle = fopen("$filename.hpp", "w"); + + $hppID = sprintf("GENERATED_%s_HPP", md5_file($this->xmlfile)); + fputs($this->hppFileHandle, "#ifndef {$hppID} \n"); + fputs($this->hppFileHandle, "#define {$hppID} \n\n"); + fputs($this->hppFileHandle, "#include \"bullet.hpp\" \n\n"); + + $this->parseStepFuncDef(); + $this->outputCallingVector(); + + fputs($this->hppFileHandle, "\n\n"); + foreach ($this->hashStepFuncVector as $label => $size) { + fputs($this->hppFileHandle, "extern const BulletStepFunc {$label}[]; \n"); + fputs($this->hppFileHandle, "const unsigned int {$label}_size = $size; \n"); + } + + fputs($this->hppFileHandle, "\n\n"); + fputs($this->hppFileHandle, "#endif \n\n"); + fclose($this->hppFileHandle); + fclose($this->cppFileHandle); + } + + function parseStepFuncDef() { + foreach ($this->document->getElementsByTagName('stepfuncDef') as $elem) { + $label = $elem->getAttribute('label'); + $this->listDefinition[$label] = $elem; + } + } + + function outputCallingVector() { + foreach ($this->document->getElementsByTagName('bulletDef') as $elem) { + $label = $elem->getAttribute('label'); + + fprintf($this->cppFileHandle, "extern const BulletStepFunc ${label}[] = { \n"); + + $list = $elem->getElementsByTagName('stepfuncCall'); + if ($list->length == 0) { + Common::error("No stepfuncCall in bulletDef"); + } + + $this->listSize = 0; + foreach ($list as $e) { + $labelStepFunc = $e->getAttribute('label'); + $this->getStepFuncCallingVector($labelStepFunc, false); + } + fprintf($this->cppFileHandle, "NULL}; \n"); + $this->listSize += 1; + + $this->hashStepFuncVector[$label] = $this->listSize; + } + // output funcDecl + foreach (array_keys($this->funcDecl) as $func) { + fprintf($this->hppFileHandle, "void $func(BulletInfo *p); \n"); + } + } + + function outputStepFunc($label, $declOnly) { + $this->funcDecl[$label] = true; + if (! $declOnly) { + fprintf($this->cppFileHandle, "%s,\n", $label); + $this->listSize += 1; + } + } + + function getStepFuncCallingVector($label, $declOnly) { + $elem = $this->listDefinition[$label]; + + if (! $elem->hasChildNodes()) { + Common::error("Empty StepFunc"); + } + + $list = $elem->getElementsByTagName('repeat'); + if ($list->length == 0) { + $this->outputStepFunc($elem->getAttribute('label'), $declOnly); + return; + } + + foreach ($list as $e) { + $repeat = new Repeat($e); + + if ($repeat->nowait) { + $this->outputStepFunc($elem->getAttribute('label'), $declOnly); + + foreach ($repeat->listStepFuncCall as $call) { + $label = $call->getAttribute('label'); + $this->getStepFuncCallingVector($label, true); + } + + } else { + if ($repeat->times > MAX_REPEAT_TIMES) { + Common::error("Too many Repeat count!"); + } + for ($i = 0; $i < $repeat->times; ++$i) { + foreach ($repeat->listStepFuncCall as $call) { + $label = $call->getAttribute('label'); + $this->getStepFuncCallingVector($label, $declOnly); + } + } + } + } + } +} + + +if (realpath($argv[0]) == __FILE__) { + $xmlfile = Common::getArg1(); + + $doc = new DOMDocument; + $doc->preserveWhiteSpace = false; + $doc->load($xmlfile, LIBXML_NSCLEAN); + + $gen = new GenCallingVector($doc, $xmlfile); + $gen->doConv(); +} + +?> diff --git a/vulkanon/generator/php/gen-code.php b/vulkanon/generator/php/gen-code.php new file mode 100755 index 0000000..33ccc7c --- /dev/null +++ b/vulkanon/generator/php/gen-code.php @@ -0,0 +1,441 @@ +#!/usr/bin/env php +type = $elem->getAttribute('type'); + if ($this->type == NULL) { + $this->type = 'aim'; + } + + $this->value = $elem->nodeValue; + if ($GLOBALS['horizontal']) { + if ($this->type == "absolute") { + $this->value = "({$this->value}) - 90"; + } + } + $this->value = Common::adjustAngle($this->value); + $this->value = Common::convSpecialChar($this->value); + } + } + + function toCode() { + if ($this->value !== NULL) { // compare with !== for when value == '0'. + switch($this->type) { + case "aim": + return sprintf('SelfPos::getAngle(p) + (%s)', $this->value); + case "sequence": + return sprintf('p->lastBulletAngle + (%s)', $this->value); + case "relative": + return sprintf('p->getAngle() + (%s)', $this->value); + case "absolute": + return sprintf('(%s * -90 / 360) + (%s)', ANGLENUM, $this->value); + default: + Common::error('Not Supported in Direction'); + break; + } + } + return "(SelfPos::getAngle(p))"; + } +} + +class Speed +{ + var $type = NULL; + var $value = NULL; + + function Speed($elem = NULL) { + if ($elem != NULL) { + $this->type = $elem->getAttribute('type'); + if ($this->type == NULL) { + $this->type = 'absolute'; + } + $this->value = $elem->nodeValue; + $this->value = Common::convSpecialChar($this->value); + } + } + + function toCode() { + if ($this->value !== NULL) { // compare with !== for when value == '0'. + switch ($this->type) { + case 'relative': + return sprintf('p->getSpeed() + (%s)', $this->value); + break; + case 'sequence': + return sprintf('p->lastBulletSpeed + (%s)', $this->value); + case 'absolute': + return sprintf('(%s)', $this->value); + default: + Common::error("Not Supported in Speed ({$this->type})"); + break; + } + } + return '1'; + } +} + +class Term +{ + var $value = NULL; + + function Term($elem) { + $this->value = Common::convSpecialChar($elem->nodeValue); + } + + function toCode() { + if (strstr($this->value, 'FixedPointNum') === FALSE) { + return $this->value; + } else { + return "({$this->value}).toInt()"; + } + } +} + +class ChangeDirection +{ + var $direction = NULL; + var $term = NULL; + + function ChangeDirection($elem) { + foreach ($elem->childNodes as $e) { + switch ($e->nodeName) { + case 'direction': + $this->direction = new Direction($e); + break; + case 'term': + $this->term = new Term($e); + break; + default: + Common::error('Not Supported in ChangeDirection'); + break; + } + } + } + + function generateCode($outputFileResource) { + print "{\n"; + printf(" u16 life = static_cast(%s);", $this->term->toCode()); + print " FixedPointNum speed = "; + + switch ($this->direction->type) { + case 'sequence': + print $this->direction->value; + break; + + default: + $speed = sprintf('%s - p->getAngle()', $this->direction->toCode()); + if ($this->term->value == '1') { + print $speed; + } else { + print "FixedPointNum($speed, life)"; + } + break; + } + + print ";"; + print "p->setRound(speed, life);"; + print "}\n"; + } +} + + +class ChangeSpeed +{ + var $speed = NULL; + var $term = NULL; + + function ChangeSpeed($elem) { + foreach ($elem->childNodes as $e) { + switch ($e->nodeName) { + case 'speed': + $this->speed = new Speed($e); + break; + case 'term': + $this->term = new Term($e); + break; + default: + Common::error('Not Supported in ChangeSpeed'); + break; + } + } + } + + function generateCode($outputFileResource) { + print "{\n"; + printf(" u16 life = static_cast(%s);", $this->term->toCode()); + print " FixedPointNum speed = "; + + switch ($this->speed->type) { + case 'sequence': + print $this->speed->value; + break; + + case 'relative': + $speed = "p->getSpeed() + {$this->speed->value}"; + if ($this->term->value == '1') { + print $speed; + } else { + print "FixedPointNum($speed, life)"; + } + break; + + default: + $speed = "{$this->speed->value} - p->getSpeed()"; + if ($this->term->value == '1') { + print $speed; + } else { + print "FixedPointNum($speed, life)"; + } + break; + } + + print ";"; + print "p->setAccel(speed, life);"; + print "}\n"; + } +} + +class Fire +{ + var $elem = NULL; + var $direction = NULL; + var $speed = NULL; + var $bulletLabel = NULL; + + function Fire($elem) { + $this->elem = $elem; + + foreach ($elem->childNodes as $e) { + switch ($e->nodeName) { + case 'direction': + $this->direction = new Direction($e); + break; + case 'speed': + $this->speed = new Speed($e); + break; + case 'bulletCall': + $this->bulletLabel = $e->getAttribute('label'); + break; + default: + Common::error("Not Supported in Fire ({$e->nodeName})"); + break; + } + } + if ($this->direction == NULL) { + $this->direction = new Direction(); + } + if ($this->speed == NULL) { + $this->speed = new Speed(); + } + } + + function outputCode() { + $angleCode = $this->direction->toCode(); + $speedCode = $this->speed->toCode(); + + $stepFuncList = "StepFunc::nullStepFuncList"; + if ($this->bulletLabel) { + $stepFuncList = $this->bulletLabel; + } + + print "{ \n"; + print " BulletInfo *bi;"; + print " p->lastBulletAngle = $angleCode;"; + print " p->lastBulletSpeed = $speedCode;"; + print " bi = ListBullets::makeNewBullet();"; + print " if (bi != NULL) {"; + print " bi->initialize(BULLET_TYPE_NORMAL, p->getPosX(), p->getPosY(), p->lastBulletAngle, p->lastBulletSpeed, {$stepFuncList}); \n"; + print " }\n"; + print "}\n"; + } +} + +class StepFunc +{ + var $elem; + + function StepFunc($elem) { + $this->elem = $elem; + } + + function doConv() { + $label = $this->elem->getAttribute('label'); + print "void ${label}(BulletInfo *p) { \n"; + + foreach ($this->elem->childNodes as $e) { + switch ($e->nodeName) { + case 'repeat': + $repeat = new Repeat($e); + if ($repeat->nowait) { + print "for (u32 i = 0; i < {$repeat->times}; ++i) { \n"; + foreach ($e->getElementsByTagName('stepfuncCall') as $call) { + printf("%s(p);", $call->getAttribute('label')); + } + print "}\n"; + } + break; + + case 'fire': + $newelem = new Fire($e); + $newelem->outputCode($outputFileResource); + break; + + case 'changeDirection': + $newelem = new ChangeDirection($e); + $newelem->generateCode($outputFileResource); + break; + + case 'changeSpeed': + $newelem = new ChangeSpeed($e); + $newelem->generateCode($outputFileResource); + break; + + case 'wait': + $wait = Common::convSpecialChar($e->nodeValue); + if (strstr($wait, 'FixedPointNum') === FALSE) { + print "p->wait = static_cast({$wait}); \n"; + } else { + print "p->wait = ({$wait}).toInt(); \n"; + } + break; + + case 'vanish': + print "ListBullets::stepFuncDrop(p);"; + break 2; + + default: + Common::error("Not Supported in StepFunc {$e->nodeName} {$e->nodeValue}"); + break; + } + } + + print "}\n"; + } +} + +class Generator +{ + var $document; + var $uniqID; + + var $barrageGroup; + var $barrageName; + + var $bulletmlNode; + var $stepfuncHash; + + function Generator($doc, $barrageGroup, $barrageName) { + $this->document = $doc; + $this->barrageGroup = $barrageGroup; + $this->barrageName = $barrageName; + + $this->bulletmlNode = Common::getBulletMLNode($this->document); + $this->uniqID = $this->bulletmlNode->getAttribute('uniqID'); + + $this->stepfuncHash = array(); + + if (Common::getBulletMLNode($this->document)->getAttribute('type') == 'horizontal') { + $GLOBALS['horizontal'] = true; + } + } + + function doConv() { + $this->parseCallingVectorFile(); + + $this->outputHeader(); + print "\n\n"; + + print "#include \"{$this->barrageGroup}/{$this->barrageName}.hpp\" \n\n"; + $cppfilename = "tmp/05-gen-callingvector/{$this->barrageGroup}/{$this->barrageName}.cpp"; + readfile($cppfilename); + + $this->outputStepFunc(); + print "\n\n"; + $this->outputTopFire(); + print "\n\n"; + } + + function outputHeader() { + print "// XXX uniqID XXX {$this->uniqID} XXX \n\n"; + $listInclude = array( + '#include ', + '#include "bullet.hpp"', + '#include "fixed.hpp"', + '', + ); + print join("\n", $listInclude); + } + + function parseCallingVectorFile() { + $this->stepfuncHash = array(); + + $filename = "tmp/05-gen-callingvector/{$this->barrageGroup}/{$this->barrageName}.hpp"; + if (! file_exists($filename)) { + Common::error("$filename not found!"); + } + + $fp = fopen($filename, "r"); + while (! feof($fp)) { + $line = fgets($fp); + if (preg_match('/(stepfunc_.+?)\(/', $line, $matches)) { + $this->stepfuncHash[$matches[1]] = true; + } + } + fclose($fp); + } + + function outputStepFunc() { + foreach ($this->document->getElementsByTagName('stepfuncDef') as $elem) { + $label = $elem->getAttribute('label'); + if ($this->stepfuncHash[$label]) { + $stepfunc = new StepFunc($elem); + $stepfunc->doConv(); + } + } + } + + function outputTopFire() { + print "BulletInfo *genBulletFunc_{$this->uniqID}(FixedPointNum posx, FixedPointNum posy) {"; + print " BulletInfo * bi;"; + + foreach ($this->document->getElementsByTagName('topFire') as $elem) { + print " bi = ListBullets::makeNewBullet();"; + $bulletCall = $elem->getElementsByTagName('bulletCall')->item(0); + if ($bulletCall) { + $label = $bulletCall->getAttribute('label'); + // sync to Shiroi-Danmakukun's motion. + print " if (bi != NULL) {"; + print " bi->initialize(BULLET_TYPE_ROOT, posx, posy, BulletInfo::DEFAULT_ANGLE, 0, {$label}); \n"; + print " }\n"; + } + } + print "return bi;"; + print "}\n"; + } +} + +if (realpath($argv[0]) == __FILE__) { + $xmlfile = Common::getArg1(); + + $doc = new DOMDocument; + $doc->preserveWhiteSpace = false; + $doc->load($xmlfile, LIBXML_NSCLEAN); + + $barrageGroup = basename(dirname($xmlfile)); + $barrageName = basename($xmlfile, '.xml'); + + $generator = new Generator($doc, $barrageGroup, $barrageName); + $doc = $generator->doConv(); +} + +?> diff --git a/vulkanon/generator/php/libcommon.php b/vulkanon/generator/php/libcommon.php new file mode 100755 index 0000000..56b0043 --- /dev/null +++ b/vulkanon/generator/php/libcommon.php @@ -0,0 +1,76 @@ +nodeName == $name) { + return $domElem; + } + + if (! $domElem->hasChildNodes()) { + return NULL; + } + foreach ($domElem->childNodes as $childNodes) { + $node = Common::getTopElementByName($childNodes, $name); + if ($node !== NULL) { + return $node; + } + } + return NULL; + } + + function getBulletMLNode($document) { + return $document->getElementsByTagName('bulletml')->item(0); + } +} + +?> diff --git a/vulkanon/generator/php/libgenerate.php b/vulkanon/generator/php/libgenerate.php new file mode 100644 index 0000000..928096a --- /dev/null +++ b/vulkanon/generator/php/libgenerate.php @@ -0,0 +1,31 @@ +getAttribute('nowait') != NULL) { + $this->nowait = true; + } else { + $this->nowait = false; + } + + foreach ($elem->childNodes as $e) { + switch ($e->nodeName) { + case 'times': + $timesValue = Common::getTopElementByName($elem, 'times')->nodeValue ; + eval(sprintf('$this->times = intval(%s);', Common::dropSpecialChar($timesValue))); + break; + + case 'stepfuncCall': + $this->listStepFuncCall[] = $e; + break; + } + } + } +} + +?> diff --git a/vulkanon/generator/php/make-stepfunc.php b/vulkanon/generator/php/make-stepfunc.php new file mode 100755 index 0000000..6eecf0f --- /dev/null +++ b/vulkanon/generator/php/make-stepfunc.php @@ -0,0 +1,125 @@ +#!/usr/bin/env php +document = $doc; + $this->bulletmlNode = Common::getBulletMLNode($this->document); + $this->uniqID = $this->bulletmlNode->getAttribute('uniqID'); + $this->listDefLabel = array(); + } + + function doConv() { + while ($this->action2stepfunc()); + return $this->document; + } + + function pushDef($def) { + $label = sprintf('stepfunc_%s_%s', md5($this->document->saveXML($def)), $this->uniqID); + + if ($this->listDefLabel[$label] == NULL) { + $def->setAttribute('label', $label); + $this->bulletmlNode->appendChild($def); + $this->listDefLabel[$label] = true; + } + + return $label; + } + + function makeCallElem($label) { + $callElem = $this->document->createElement("stepfuncCall"); + $callElem->setAttribute('label', $label); + return $callElem; + } + + function action2stepfunc() { + // process by most internal node. + $list = $this->document->getElementsByTagName('action'); + if ($list->length == 0) { + return false; + } + + $elem = $list->item($list->length - 1); + + $stepfunc = $this->document->createElement('stepfuncDef'); + $listCallElem = array(); + + foreach ($elem->childNodes as $e) { + switch ($e->nodeName) { + case 'repeat': + if ($e->getAttribute('nowait') != NULL) { + $stepfunc->appendChild($e->cloneNode(true)); + } else { + if ($stepfunc->hasChildNodes()) { + $label = $this->pushDef($stepfunc); + $callElem = $this->makeCallElem($label); + $listCallElem[] = $callElem; + } + $stepfunc = $this->document->createElement('stepfuncDef'); + $stepfunc->appendChild($e->cloneNode(true)); + $label = $this->pushDef($stepfunc); + $callElem = $this->makeCallElem($label); + $listCallElem[] = $callElem; + + $stepfunc = $this->document->createElement('stepfuncDef'); + } + break; + + case 'wait': + $stepfunc->appendChild($e->cloneNode(true)); + + $label = $this->pushDef($stepfunc); + + $callElem = $this->makeCallElem($label); + $listCallElem[] = $callElem; + + $stepfunc = $this->document->createElement('stepfuncDef'); + break; + + default: + $stepfunc->appendChild($e->cloneNode(true)); + } + } + if ($stepfunc->hasChildNodes()) { + $label = $this->pushDef($stepfunc); + $callElem = $this->makeCallElem($label); + $listCallElem[] = $callElem; + } + + foreach ($listCallElem as $e) { + $elem->parentNode->insertBefore($e, $elem); + } + $elem->parentNode->removeChild($elem); + return true; + } +} + +if (realpath($argv[0]) == __FILE__) { + $xmlfile = Common::getArg1(); + + $doc = new DOMDocument; + $doc->preserveWhiteSpace = false; + $doc->load($xmlfile); + + $makestepfunc = new MakeStepFunc($doc); + $doc = $makestepfunc->doConv(); + + $destfile = Common::getTmpFile("03-makestepfunc", $xmlfile); + if ($xmlfile != $destfile) { + @mkdir(dirname($destfile), 0700, true); + $doc->save($destfile); + } else { + print $doc->saveXML(); + } +} + +?> diff --git a/vulkanon/generator/php/replace-reference.php b/vulkanon/generator/php/replace-reference.php new file mode 100755 index 0000000..463eb63 --- /dev/null +++ b/vulkanon/generator/php/replace-reference.php @@ -0,0 +1,132 @@ +#!/usr/bin/env php +type = $elem->nodeName; + $this->label = $elem->getAttribute('label'); + + foreach ($elem->childNodes as $e) { + if ($e->nodeName == 'param') { + $this->param[] = $e->nodeValue; + } else { + if ($e->nodeType != XML_TEXT_NODE) { + Common::error("Not Supported in Reference ({$e->nodeName}, {$e->nodeValue})"); + } + } + } + } + + function replace_callback($matches) { + $idx = intval($matches[1]) - 1; + $value = $this->param[$idx]; + if ($value == NULL) { + $value = 0; + } + return "($value)"; + } +} + + +class ReplaceReference +{ + var $document; + var $bulletmlNode; + var $definition = array(); + + function ReplaceReference($doc) { + $this->document = $doc; + $this->bulletmlNode = Common::getBulletMLNode($this->document); + $this->setupDefinition('action'); + $this->setupDefinition('bullet'); + $this->setupDefinition('fire'); + } + + function setupDefinition($nodeName) { + $this->definition[$nodeName] = array(); + foreach ($this->document->getElementsByTagName($nodeName) as $elem) { + $label = $elem->getAttribute('label'); + if ($label != NULL) { + $this->definition[$nodeName][$label] = $elem->cloneNode(true); + } + } + } + + function doConv() { + while ($this->replace()); + return $this->document; + } + + function detectReferenceLoop($elem) { + $label = $elem->getAttribute('label'); + $parentNode = $elem->parentNode; + while ($parentNode->nodeName != 'bulletml') { + if ($parentNode->getAttribute('label') == $label) { + error_log("[ERROR] Detect Reference Loop"); + exit(1); + } + $parentNode = $parentNode->parentNode; + } + } + + function replace() { + $keys = array('actionRef', 'fireRef', 'bulletRef'); + + foreach ($keys as $nodeName) { + $elem = $this->document->getElementsByTagName($nodeName)->item(0); + if ($elem) { + $this->detectReferenceLoop($elem); + + $reference = new Reference($elem); + $targetNodeName = str_replace('Ref', '', $elem->nodeName); + + $newelem = $this->definition[$targetNodeName][$reference->label]->cloneNode(true); + $this->applyParam($newelem, $reference); + $elem->parentNode->replaceChild($newelem, $elem); + return true; + } + } + return false; + } + + function applyParam(&$elem, $reference) { + if ($elem->nodeType == XML_TEXT_NODE) { + $elem->nodeValue = preg_replace_callback('/\$(\d+?)/', array($reference, 'replace_callback'), $elem->nodeValue); + } else { + if (! $elem->hasChildNodes()) { + return; + } + foreach ($elem->childNodes as $e) { + $this->applyParam($e, $reference); + } + } + } +} + +if (realpath($argv[0]) == __FILE__) { + $xmlfile = Common::getArg1(); + + $doc = new DOMDocument; + $doc->preserveWhiteSpace = false; + $doc->load($xmlfile); + + $replaceReference = new ReplaceReference($doc); + $doc = $replaceReference->doConv(); + + $destfile = Common::getTmpFile("01-rr", $xmlfile); + if ($xmlfile != $destfile) { + @mkdir(dirname($destfile), 0700, true); + $doc->save($destfile); + } else { + print $doc->saveXML(); + } +} + +?> diff --git a/vulkanon/generator/php/splitbullet.php b/vulkanon/generator/php/splitbullet.php new file mode 100755 index 0000000..1068742 --- /dev/null +++ b/vulkanon/generator/php/splitbullet.php @@ -0,0 +1,84 @@ +#!/usr/bin/env php +document = $doc; + $this->bulletmlNode = Common::getBulletMLNode($this->document); + $this->uniqID = $this->bulletmlNode->getAttribute('uniqID'); + $this->listDefLabel = array(); + } + + function doConv() { + while ($this->split()); + return $this->document; + } + + function pushDef($elem) { + // push bulletDef + $def = $this->document->createElement("bulletDef"); + foreach ($elem->childNodes as $e) { + $def->appendChild($e->cloneNode(true)); + } + $label = sprintf('bullet_%s_%s', md5($this->document->saveXML($def)), $this->uniqID); + + if ($this->listDefLabel[$label] == NULL) { + $def->setAttribute('label', $label); + $this->bulletmlNode->appendChild($def); + $this->listDefLabel[$label] = true; + } + + return $label; + } + + function split() { + // process by most internal node. + $list = $this->document->getElementsByTagName('bullet'); + if ($list->length == 0) { + return false; + } + + $elem = $list->item($list->length - 1); + if ($elem->hasChildNodes()) { + $label = $this->pushDef($elem); + + // push doBullet + $callElem = $this->document->createElement("bulletCall"); + $callElem->setAttribute('label', $label); + $elem->parentNode->replaceChild($callElem, $elem); + } else { + $elem->parentNode->removeChild($elem); + } + return true; + } +} + +if (realpath($argv[0]) == __FILE__) { + $xmlfile = Common::getArg1(); + + $doc = new DOMDocument; + $doc->preserveWhiteSpace = false; + $doc->load($xmlfile, LIBXML_NSCLEAN); + + $splitbullet = new SplitBullet($doc); + $doc = $splitbullet->doConv(); + + $destfile = Common::getTmpFile("04-splitbullet", $xmlfile); + if ($xmlfile != $destfile) { + @mkdir(dirname($destfile), 0700, true); + $doc->save($destfile); + } else { + print $doc->saveXML(); + } +} + +?> diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss0.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss0.xml new file mode 100644 index 0000000..cb1e7c5 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss0.xml @@ -0,0 +1,3 @@ + + +180111400.111202023510225-202030$10.5$1+20$1-20 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss1.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss1.xml new file mode 100644 index 0000000..7db92ab --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss1.xml @@ -0,0 +1,3 @@ + + +010111020019011801270141110 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss10.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss10.xml new file mode 100644 index 0000000..eec4206 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss10.xml @@ -0,0 +1,3 @@ + + +1999911603020901801802-90180320$22-$112$11 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss2.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss2.xml new file mode 100644 index 0000000..8f4907f --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss2.xml @@ -0,0 +1,3 @@ + + +18011130012001500.220-2040-4060-6080-8060 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss3-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss3-left.xml new file mode 100644 index 0000000..4e0be25 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss3-left.xml @@ -0,0 +1,3 @@ + + +16012101-18003563$113 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss3-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss3-right.xml new file mode 100644 index 0000000..5bfebdb --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss3-right.xml @@ -0,0 +1,3 @@ + + +2001210-1180035-63$113 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss4.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss4.xml new file mode 100644 index 0000000..fe461be --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss4.xml @@ -0,0 +1,3 @@ + + +6012014016018020022024030$12$11$12$13$14$15$10.1$2*221300141 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss5-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss5-left.xml new file mode 100644 index 0000000..a7184b0 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss5-left.xml @@ -0,0 +1,3 @@ + + +3605-3220*$rand013 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss5-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss5-right.xml new file mode 100644 index 0000000..3e87514 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss5-right.xml @@ -0,0 +1,3 @@ + + +36053220*$rand013 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss6.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss6.xml new file mode 100644 index 0000000..8e062c2 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss6.xml @@ -0,0 +1,3 @@ + + +2139999303002202-223 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss7.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss7.xml new file mode 100644 index 0000000..89de8a6 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss7.xml @@ -0,0 +1,3 @@ + + +18010.11120023209002-9032002-$112$11 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss8-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss8-left.xml new file mode 100644 index 0000000..ccf6255 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss8-left.xml @@ -0,0 +1,3 @@ + + +1801213001200260-421 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss8-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss8-right.xml new file mode 100644 index 0000000..62c0dce --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss8-right.xml @@ -0,0 +1,3 @@ + + +1801213001200260421 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss9.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss9.xml new file mode 100644 index 0000000..8087732 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_boss9.xml @@ -0,0 +1,3 @@ + + +19999011302090002-900901801802-90180320$22-$112$11 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy0.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy0.xml new file mode 100644 index 0000000..d1bd841 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy0.xml @@ -0,0 +1,3 @@ + + +18011120501100219182 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy1-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy1-left.xml new file mode 100644 index 0000000..3488acf --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy1-left.xml @@ -0,0 +1,3 @@ + + +9010.51302001500.220-2040-4060-6080-8060 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy1-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy1-right.xml new file mode 100644 index 0000000..328c03d --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy1-right.xml @@ -0,0 +1,3 @@ + + +27010.51302001500.220-2040-4060-6080-8060 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy10.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy10.xml new file mode 100644 index 0000000..fee0141 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy10.xml @@ -0,0 +1,3 @@ + + +180111201013015017019021023030$12$1$1$1$1$1$10.25 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy11-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy11-left.xml new file mode 100644 index 0000000..2bd5353 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy11-left.xml @@ -0,0 +1,3 @@ + + +-90121211202090-902$12$rand*501 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy11-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy11-right.xml new file mode 100644 index 0000000..31797b9 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy11-right.xml @@ -0,0 +1,3 @@ + + +90121211202090-902$12$rand*501 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy12.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy12.xml new file mode 100644 index 0000000..5c6575b --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy12.xml @@ -0,0 +1,3 @@ + + +021000.5 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy13-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy13-left.xml new file mode 100644 index 0000000..abaaadf --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy13-left.xml @@ -0,0 +1,3 @@ + + +$rand*36012-39999410050902-9023 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy13-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy13-right.xml new file mode 100644 index 0000000..89139e4 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy13-right.xml @@ -0,0 +1,3 @@ + + +$rand*3601239999410050902-9023 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy14-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy14-left.xml new file mode 100644 index 0000000..b1501d9 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy14-left.xml @@ -0,0 +1,3 @@ + + +100-120210 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy14-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy14-right.xml new file mode 100644 index 0000000..c569caa --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy14-right.xml @@ -0,0 +1,3 @@ + + +100120210 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy15-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy15-left.xml new file mode 100644 index 0000000..6de310e --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy15-left.xml @@ -0,0 +1,3 @@ + + +18022060-2210 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy15-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy15-right.xml new file mode 100644 index 0000000..7bba96a --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy15-right.xml @@ -0,0 +1,3 @@ + + +180220602210 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy16.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy16.xml new file mode 100644 index 0000000..5b49521 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy16.xml @@ -0,0 +1,3 @@ + + +90120256224025-6210 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy17.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy17.xml new file mode 100644 index 0000000..e854a71 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy17.xml @@ -0,0 +1,3 @@ + + +1801112051352225228 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy18-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy18-left.xml new file mode 100644 index 0000000..8d9f5aa --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy18-left.xml @@ -0,0 +1,3 @@ + + +18010.5120360-330-0.50-0.50-0.50-0.51 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy18-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy18-right.xml new file mode 100644 index 0000000..9c733d1 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy18-right.xml @@ -0,0 +1,3 @@ + + +18010.5120360330-0.50-0.50-0.50-0.51 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy19-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy19-left.xml new file mode 100644 index 0000000..81c6762 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy19-left.xml @@ -0,0 +1,3 @@ + + +(4/2.0)1-29999300180(6/2.0)135(6/2.0)2 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy19-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy19-right.xml new file mode 100644 index 0000000..553d84b --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy19-right.xml @@ -0,0 +1,3 @@ + + +(4/2.0)129999300180(6/2.0)225(6/2.0)2 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy2.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy2.xml new file mode 100644 index 0000000..99b1c77 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy2.xml @@ -0,0 +1,3 @@ + + +11180160517039235 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy20-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy20-left.xml new file mode 100644 index 0000000..d8b67ce --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy20-left.xml @@ -0,0 +1,3 @@ + + +0130270231009002-90302-$112$11 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy20-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy20-right.xml new file mode 100644 index 0000000..1bba57a --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy20-right.xml @@ -0,0 +1,3 @@ + + +013090231009002-90302-$112$11 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy21.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy21.xml new file mode 100644 index 0000000..18cd6a8 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy21.xml @@ -0,0 +1,3 @@ + + +18011160010100101500.12040-20-40110106002 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy22.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy22.xml new file mode 100644 index 0000000..c770f08 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy22.xml @@ -0,0 +1,3 @@ + + +118011001 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy23.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy23.xml new file mode 100644 index 0000000..a0252f9 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy23.xml @@ -0,0 +1,3 @@ + + +12301101801 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy3.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy3.xml new file mode 100644 index 0000000..d7759eb --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy3.xml @@ -0,0 +1,3 @@ + + +5010.511100233020181 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy4.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy4.xml new file mode 100644 index 0000000..1e66353 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy4.xml @@ -0,0 +1,3 @@ + + +120501500.52040-20-4010 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy5-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy5-left.xml new file mode 100644 index 0000000..d6c4df0 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy5-left.xml @@ -0,0 +1,3 @@ + + +9010.513010180151800.2 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy5-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy5-right.xml new file mode 100644 index 0000000..2938c54 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy5-right.xml @@ -0,0 +1,3 @@ + + +27010.513010180151800.2 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy6.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy6.xml new file mode 100644 index 0000000..8de1038 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy6.xml @@ -0,0 +1,3 @@ + + +1000104-1041 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy7.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy7.xml new file mode 100644 index 0000000..ac22e96 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy7.xml @@ -0,0 +1,3 @@ + + +120610004130 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy8-bottom.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy8-bottom.xml new file mode 100644 index 0000000..13694dd --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy8-bottom.xml @@ -0,0 +1,3 @@ + + +180210532110-3215321 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy8-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy8-left.xml new file mode 100644 index 0000000..d054fb1 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy8-left.xml @@ -0,0 +1,3 @@ + + +270210532110-3215321 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy8-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy8-right.xml new file mode 100644 index 0000000..224580c --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy8-right.xml @@ -0,0 +1,3 @@ + + +90210532110-3215321 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy9-left.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy9-left.xml new file mode 100644 index 0000000..33fa32d --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy9-left.xml @@ -0,0 +1,3 @@ + + +2602.520-52.520100.200.200.200.200.200.2 diff --git a/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy9-right.xml b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy9-right.xml new file mode 100644 index 0000000..6e78dd4 --- /dev/null +++ b/vulkanon/generator/tmp/00-cutcomment/vulkanon/l0_enemy9-right.xml @@ -0,0 +1,3 @@ + + +1002.52052.520100.200.200.200.200.200.2 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss0.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss0.xml new file mode 100644 index 0000000..f371f3e --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss0.xml @@ -0,0 +1,3 @@ + + +180111400.111202023510225(-20)0.5(-20)+20(-20)-20(20)0.5(20)+20(20)-2030$10.5$1+20$1-20 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss1.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss1.xml new file mode 100644 index 0000000..7db92ab --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss1.xml @@ -0,0 +1,3 @@ + + +010111020019011801270141110 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss10.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss10.xml new file mode 100644 index 0000000..f12cafb --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss10.xml @@ -0,0 +1,3 @@ + + +1999911603020(180)2-(90)12(90)11802(180)2-(-90)12(-90)1320$22-$112$11 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss2.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss2.xml new file mode 100644 index 0000000..8f4907f --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss2.xml @@ -0,0 +1,3 @@ + + +18011130012001500.220-2040-4060-6080-8060 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss3-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss3-left.xml new file mode 100644 index 0000000..56d4cf4 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss3-left.xml @@ -0,0 +1,3 @@ + + +16012108003563(1)138003563(-1)138003563$113 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss3-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss3-right.xml new file mode 100644 index 0000000..ac9e444 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss3-right.xml @@ -0,0 +1,3 @@ + + +200121080035-63(-1)1380035-63(1)1380035-63$113 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss4.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss4.xml new file mode 100644 index 0000000..dfa0061 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss4.xml @@ -0,0 +1,3 @@ + + +60(120)2((120))0.1(1)*221300141((120))0.1(2)*221300141((120))0.1(3)*221300141((120))0.1(4)*221300141((120))0.1(5)*221300141(140)2((140))0.1(1)*221300141((140))0.1(2)*221300141((140))0.1(3)*221300141((140))0.1(4)*221300141((140))0.1(5)*221300141(160)2((160))0.1(1)*221300141((160))0.1(2)*221300141((160))0.1(3)*221300141((160))0.1(4)*221300141((160))0.1(5)*221300141(180)2((180))0.1(1)*221300141((180))0.1(2)*221300141((180))0.1(3)*221300141((180))0.1(4)*221300141((180))0.1(5)*221300141(200)2((200))0.1(1)*221300141((200))0.1(2)*221300141((200))0.1(3)*221300141((200))0.1(4)*221300141((200))0.1(5)*221300141(220)2((220))0.1(1)*221300141((220))0.1(2)*221300141((220))0.1(3)*221300141((220))0.1(4)*221300141((220))0.1(5)*221300141(240)2((240))0.1(1)*221300141((240))0.1(2)*221300141((240))0.1(3)*221300141((240))0.1(4)*221300141((240))0.1(5)*22130014130$12($1)0.1(1)*221300141($1)0.1(2)*221300141($1)0.1(3)*221300141($1)0.1(4)*221300141($1)0.1(5)*221300141$10.1$2*221300141 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss5-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss5-left.xml new file mode 100644 index 0000000..a7184b0 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss5-left.xml @@ -0,0 +1,3 @@ + + +3605-3220*$rand013 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss5-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss5-right.xml new file mode 100644 index 0000000..3e87514 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss5-right.xml @@ -0,0 +1,3 @@ + + +36053220*$rand013 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss6.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss6.xml new file mode 100644 index 0000000..8e062c2 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss6.xml @@ -0,0 +1,3 @@ + + +2139999303002202-223 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss7.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss7.xml new file mode 100644 index 0000000..d2e912a --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss7.xml @@ -0,0 +1,3 @@ + + +18010.111200232002-(90)12(90)10202-(-90)12(-90)132002-$112$11 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss8-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss8-left.xml new file mode 100644 index 0000000..ccf6255 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss8-left.xml @@ -0,0 +1,3 @@ + + +1801213001200260-421 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss8-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss8-right.xml new file mode 100644 index 0000000..62c0dce --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss8-right.xml @@ -0,0 +1,3 @@ + + +1801213001200260421 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss9.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss9.xml new file mode 100644 index 0000000..fc9d37b --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_boss9.xml @@ -0,0 +1,3 @@ + + +199990113020(0)2-(90)12(90)102(0)2-(-90)12(-90)1(180)2-(90)12(90)11802(180)2-(-90)12(-90)1320$22-$112$11 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy0.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy0.xml new file mode 100644 index 0000000..d1bd841 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy0.xml @@ -0,0 +1,3 @@ + + +18011120501100219182 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy1-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy1-left.xml new file mode 100644 index 0000000..3488acf --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy1-left.xml @@ -0,0 +1,3 @@ + + +9010.51302001500.220-2040-4060-6080-8060 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy1-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy1-right.xml new file mode 100644 index 0000000..328c03d --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy1-right.xml @@ -0,0 +1,3 @@ + + +27010.51302001500.220-2040-4060-6080-8060 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy10.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy10.xml new file mode 100644 index 0000000..028cea2 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy10.xml @@ -0,0 +1,3 @@ + + +1801112010(130)2((130))0.25((130))0.25((130))0.25((130))0.25((130))0.25(150)2((150))0.25((150))0.25((150))0.25((150))0.25((150))0.25(170)2((170))0.25((170))0.25((170))0.25((170))0.25((170))0.25(190)2((190))0.25((190))0.25((190))0.25((190))0.25((190))0.25(210)2((210))0.25((210))0.25((210))0.25((210))0.25((210))0.25(230)2((230))0.25((230))0.25((230))0.25((230))0.25((230))0.2530$12($1)0.25($1)0.25($1)0.25($1)0.25($1)0.25$10.25 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy11-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy11-left.xml new file mode 100644 index 0000000..14df85b --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy11-left.xml @@ -0,0 +1,3 @@ + + +-901212112020(90)2$rand*501(-90)2$rand*5012$12$rand*501 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy11-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy11-right.xml new file mode 100644 index 0000000..ea181e4 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy11-right.xml @@ -0,0 +1,3 @@ + + +901212112020(90)2$rand*501(-90)2$rand*5012$12$rand*501 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy12.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy12.xml new file mode 100644 index 0000000..5c6575b --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy12.xml @@ -0,0 +1,3 @@ + + +021000.5 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy13-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy13-left.xml new file mode 100644 index 0000000..abaaadf --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy13-left.xml @@ -0,0 +1,3 @@ + + +$rand*36012-39999410050902-9023 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy13-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy13-right.xml new file mode 100644 index 0000000..89139e4 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy13-right.xml @@ -0,0 +1,3 @@ + + +$rand*3601239999410050902-9023 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy14-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy14-left.xml new file mode 100644 index 0000000..b1501d9 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy14-left.xml @@ -0,0 +1,3 @@ + + +100-120210 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy14-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy14-right.xml new file mode 100644 index 0000000..c569caa --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy14-right.xml @@ -0,0 +1,3 @@ + + +100120210 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy15-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy15-left.xml new file mode 100644 index 0000000..6de310e --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy15-left.xml @@ -0,0 +1,3 @@ + + +18022060-2210 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy15-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy15-right.xml new file mode 100644 index 0000000..7bba96a --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy15-right.xml @@ -0,0 +1,3 @@ + + +180220602210 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy16.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy16.xml new file mode 100644 index 0000000..5b49521 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy16.xml @@ -0,0 +1,3 @@ + + +90120256224025-6210 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy17.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy17.xml new file mode 100644 index 0000000..e854a71 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy17.xml @@ -0,0 +1,3 @@ + + +1801112051352225228 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy18-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy18-left.xml new file mode 100644 index 0000000..8d9f5aa --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy18-left.xml @@ -0,0 +1,3 @@ + + +18010.5120360-330-0.50-0.50-0.50-0.51 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy18-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy18-right.xml new file mode 100644 index 0000000..9c733d1 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy18-right.xml @@ -0,0 +1,3 @@ + + +18010.5120360330-0.50-0.50-0.50-0.51 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy19-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy19-left.xml new file mode 100644 index 0000000..81c6762 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy19-left.xml @@ -0,0 +1,3 @@ + + +(4/2.0)1-29999300180(6/2.0)135(6/2.0)2 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy19-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy19-right.xml new file mode 100644 index 0000000..553d84b --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy19-right.xml @@ -0,0 +1,3 @@ + + +(4/2.0)129999300180(6/2.0)225(6/2.0)2 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy2.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy2.xml new file mode 100644 index 0000000..99b1c77 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy2.xml @@ -0,0 +1,3 @@ + + +11180160517039235 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy20-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy20-left.xml new file mode 100644 index 0000000..d9ac3da --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy20-left.xml @@ -0,0 +1,3 @@ + + +01302702310002-(90)12(90)10202-(-90)12(-90)1302-$112$11 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy20-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy20-right.xml new file mode 100644 index 0000000..92f3aec --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy20-right.xml @@ -0,0 +1,3 @@ + + +0130902310002-(90)12(90)10202-(-90)12(-90)1302-$112$11 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy21.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy21.xml new file mode 100644 index 0000000..18cd6a8 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy21.xml @@ -0,0 +1,3 @@ + + +18011160010100101500.12040-20-40110106002 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy22.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy22.xml new file mode 100644 index 0000000..c770f08 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy22.xml @@ -0,0 +1,3 @@ + + +118011001 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy23.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy23.xml new file mode 100644 index 0000000..a0252f9 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy23.xml @@ -0,0 +1,3 @@ + + +12301101801 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy3.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy3.xml new file mode 100644 index 0000000..d7759eb --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy3.xml @@ -0,0 +1,3 @@ + + +5010.511100233020181 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy4.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy4.xml new file mode 100644 index 0000000..1e66353 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy4.xml @@ -0,0 +1,3 @@ + + +120501500.52040-20-4010 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy5-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy5-left.xml new file mode 100644 index 0000000..2909371 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy5-left.xml @@ -0,0 +1,3 @@ + + +9010.5130180151800.210180151800.2 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy5-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy5-right.xml new file mode 100644 index 0000000..4d57510 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy5-right.xml @@ -0,0 +1,3 @@ + + +27010.5130180151800.210180151800.2 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy6.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy6.xml new file mode 100644 index 0000000..8de1038 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy6.xml @@ -0,0 +1,3 @@ + + +1000104-1041 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy7.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy7.xml new file mode 100644 index 0000000..ac22e96 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy7.xml @@ -0,0 +1,3 @@ + + +120610004130 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy8-bottom.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy8-bottom.xml new file mode 100644 index 0000000..14f7f35 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy8-bottom.xml @@ -0,0 +1,3 @@ + + +180210532110-3215321532110-3215321 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy8-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy8-left.xml new file mode 100644 index 0000000..5cdc2bd --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy8-left.xml @@ -0,0 +1,3 @@ + + +270210532110-3215321532110-3215321 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy8-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy8-right.xml new file mode 100644 index 0000000..4f197f8 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy8-right.xml @@ -0,0 +1,3 @@ + + +90210532110-3215321532110-3215321 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy9-left.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy9-left.xml new file mode 100644 index 0000000..6bd9c75 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy9-left.xml @@ -0,0 +1,3 @@ + + +2602.520-52.50100.200.200.200.200.200.220100.200.200.200.200.200.2 diff --git a/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy9-right.xml b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy9-right.xml new file mode 100644 index 0000000..d3f4179 --- /dev/null +++ b/vulkanon/generator/tmp/01-rr/vulkanon/l0_enemy9-right.xml @@ -0,0 +1,3 @@ + + +1002.52052.50100.200.200.200.200.200.220100.200.200.200.200.200.2 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss0.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss0.xml new file mode 100644 index 0000000..df81f16 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss0.xml @@ -0,0 +1,3 @@ + + +180111400.111202023510225(-20)0.5(-20)+20(-20)-20(20)0.5(20)+20(20)-2030 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss1.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss1.xml new file mode 100644 index 0000000..a21ee83 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss1.xml @@ -0,0 +1,3 @@ + + +010111020019011801270141110 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss10.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss10.xml new file mode 100644 index 0000000..10f6cf2 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss10.xml @@ -0,0 +1,3 @@ + + +1999911603020(180)2-(90)12(90)11802(180)2-(-90)12(-90)1320 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss2.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss2.xml new file mode 100644 index 0000000..2cfcf76 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss2.xml @@ -0,0 +1,3 @@ + + +18011130012001500.220-2040-4060-6080-8060 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss3-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss3-left.xml new file mode 100644 index 0000000..1ac930f --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss3-left.xml @@ -0,0 +1,3 @@ + + +16012108003563(1)138003563(-1)13 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss3-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss3-right.xml new file mode 100644 index 0000000..b891479 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss3-right.xml @@ -0,0 +1,3 @@ + + +200121080035-63(-1)1380035-63(1)13 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss4.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss4.xml new file mode 100644 index 0000000..b0545cf --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss4.xml @@ -0,0 +1,3 @@ + + +60(120)2((120))0.1(1)*221300141((120))0.1(2)*221300141((120))0.1(3)*221300141((120))0.1(4)*221300141((120))0.1(5)*221300141(140)2((140))0.1(1)*221300141((140))0.1(2)*221300141((140))0.1(3)*221300141((140))0.1(4)*221300141((140))0.1(5)*221300141(160)2((160))0.1(1)*221300141((160))0.1(2)*221300141((160))0.1(3)*221300141((160))0.1(4)*221300141((160))0.1(5)*221300141(180)2((180))0.1(1)*221300141((180))0.1(2)*221300141((180))0.1(3)*221300141((180))0.1(4)*221300141((180))0.1(5)*221300141(200)2((200))0.1(1)*221300141((200))0.1(2)*221300141((200))0.1(3)*221300141((200))0.1(4)*221300141((200))0.1(5)*221300141(220)2((220))0.1(1)*221300141((220))0.1(2)*221300141((220))0.1(3)*221300141((220))0.1(4)*221300141((220))0.1(5)*221300141(240)2((240))0.1(1)*221300141((240))0.1(2)*221300141((240))0.1(3)*221300141((240))0.1(4)*221300141((240))0.1(5)*22130014130 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss5-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss5-left.xml new file mode 100644 index 0000000..ee98584 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss5-left.xml @@ -0,0 +1,3 @@ + + +3605-3220*$rand013 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss5-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss5-right.xml new file mode 100644 index 0000000..d95fb76 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss5-right.xml @@ -0,0 +1,3 @@ + + +36053220*$rand013 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss6.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss6.xml new file mode 100644 index 0000000..034f4c6 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss6.xml @@ -0,0 +1,3 @@ + + +2139999303002202-223 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss7.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss7.xml new file mode 100644 index 0000000..4f1f4d0 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss7.xml @@ -0,0 +1,3 @@ + + +18010.111200232002-(90)12(90)10202-(-90)12(-90)1320 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss8-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss8-left.xml new file mode 100644 index 0000000..6dd154b --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss8-left.xml @@ -0,0 +1,3 @@ + + +1801213001200260-421 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss8-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss8-right.xml new file mode 100644 index 0000000..e10f4a9 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss8-right.xml @@ -0,0 +1,3 @@ + + +1801213001200260421 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss9.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss9.xml new file mode 100644 index 0000000..4b1a6de --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_boss9.xml @@ -0,0 +1,3 @@ + + +199990113020(0)2-(90)12(90)102(0)2-(-90)12(-90)1(180)2-(90)12(90)11802(180)2-(-90)12(-90)1320 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy0.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy0.xml new file mode 100644 index 0000000..b93dc24 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy0.xml @@ -0,0 +1,3 @@ + + +18011120501100219182 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy1-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy1-left.xml new file mode 100644 index 0000000..4c460ff --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy1-left.xml @@ -0,0 +1,3 @@ + + +9010.51302001500.220-2040-4060-6080-8060 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy1-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy1-right.xml new file mode 100644 index 0000000..c933026 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy1-right.xml @@ -0,0 +1,3 @@ + + +27010.51302001500.220-2040-4060-6080-8060 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy10.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy10.xml new file mode 100644 index 0000000..a918760 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy10.xml @@ -0,0 +1,3 @@ + + +1801112010(130)2((130))0.25((130))0.25((130))0.25((130))0.25((130))0.25(150)2((150))0.25((150))0.25((150))0.25((150))0.25((150))0.25(170)2((170))0.25((170))0.25((170))0.25((170))0.25((170))0.25(190)2((190))0.25((190))0.25((190))0.25((190))0.25((190))0.25(210)2((210))0.25((210))0.25((210))0.25((210))0.25((210))0.25(230)2((230))0.25((230))0.25((230))0.25((230))0.25((230))0.2530 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy11-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy11-left.xml new file mode 100644 index 0000000..8a9bbb8 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy11-left.xml @@ -0,0 +1,3 @@ + + +-901212112020(90)2$rand*501(-90)2$rand*5012 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy11-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy11-right.xml new file mode 100644 index 0000000..62b256f --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy11-right.xml @@ -0,0 +1,3 @@ + + +901212112020(90)2$rand*501(-90)2$rand*5012 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy12.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy12.xml new file mode 100644 index 0000000..b6d0d17 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy12.xml @@ -0,0 +1,3 @@ + + +021000.5 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy13-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy13-left.xml new file mode 100644 index 0000000..94b78cd --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy13-left.xml @@ -0,0 +1,3 @@ + + +$rand*36012-39999410050902-9023 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy13-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy13-right.xml new file mode 100644 index 0000000..2f98a27 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy13-right.xml @@ -0,0 +1,3 @@ + + +$rand*3601239999410050902-9023 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy14-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy14-left.xml new file mode 100644 index 0000000..04b10f1 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy14-left.xml @@ -0,0 +1,3 @@ + + +100-120210 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy14-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy14-right.xml new file mode 100644 index 0000000..9802bbd --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy14-right.xml @@ -0,0 +1,3 @@ + + +100120210 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy15-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy15-left.xml new file mode 100644 index 0000000..a293484 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy15-left.xml @@ -0,0 +1,3 @@ + + +18022060-2210 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy15-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy15-right.xml new file mode 100644 index 0000000..13eaf17 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy15-right.xml @@ -0,0 +1,3 @@ + + +180220602210 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy16.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy16.xml new file mode 100644 index 0000000..c789bdf --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy16.xml @@ -0,0 +1,3 @@ + + +90120256224025-6210 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy17.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy17.xml new file mode 100644 index 0000000..0deefe1 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy17.xml @@ -0,0 +1,3 @@ + + +1801112051352225228 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy18-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy18-left.xml new file mode 100644 index 0000000..79e3c7f --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy18-left.xml @@ -0,0 +1,3 @@ + + +18010.5120360-330-0.50-0.50-0.50-0.51 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy18-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy18-right.xml new file mode 100644 index 0000000..7d036e5 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy18-right.xml @@ -0,0 +1,3 @@ + + +18010.5120360330-0.50-0.50-0.50-0.51 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy19-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy19-left.xml new file mode 100644 index 0000000..91c1434 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy19-left.xml @@ -0,0 +1,3 @@ + + +(4/2.0)1-29999300180(6/2.0)135(6/2.0)2 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy19-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy19-right.xml new file mode 100644 index 0000000..276a8a4 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy19-right.xml @@ -0,0 +1,3 @@ + + +(4/2.0)129999300180(6/2.0)225(6/2.0)2 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy2.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy2.xml new file mode 100644 index 0000000..900bc91 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy2.xml @@ -0,0 +1,3 @@ + + +11180160517039235 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy20-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy20-left.xml new file mode 100644 index 0000000..9600428 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy20-left.xml @@ -0,0 +1,3 @@ + + +01302702310002-(90)12(90)10202-(-90)12(-90)13 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy20-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy20-right.xml new file mode 100644 index 0000000..d04ade5 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy20-right.xml @@ -0,0 +1,3 @@ + + +0130902310002-(90)12(90)10202-(-90)12(-90)13 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy21.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy21.xml new file mode 100644 index 0000000..1048ee6 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy21.xml @@ -0,0 +1,3 @@ + + +18011160010100101500.12040-20-40110106002 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy22.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy22.xml new file mode 100644 index 0000000..08560c7 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy22.xml @@ -0,0 +1,3 @@ + + +118011001 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy23.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy23.xml new file mode 100644 index 0000000..a652492 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy23.xml @@ -0,0 +1,3 @@ + + +12301101801 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy3.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy3.xml new file mode 100644 index 0000000..a48bc6b --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy3.xml @@ -0,0 +1,3 @@ + + +5010.511100233020181 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy4.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy4.xml new file mode 100644 index 0000000..aa5fbe5 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy4.xml @@ -0,0 +1,3 @@ + + +120501500.52040-20-4010 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy5-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy5-left.xml new file mode 100644 index 0000000..1773f3e --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy5-left.xml @@ -0,0 +1,3 @@ + + +9010.5130180151800.210 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy5-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy5-right.xml new file mode 100644 index 0000000..5143019 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy5-right.xml @@ -0,0 +1,3 @@ + + +27010.5130180151800.210 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy6.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy6.xml new file mode 100644 index 0000000..0dc54e3 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy6.xml @@ -0,0 +1,3 @@ + + +1000104-1041 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy7.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy7.xml new file mode 100644 index 0000000..1409c6b --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy7.xml @@ -0,0 +1,3 @@ + + +120610004130 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy8-bottom.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy8-bottom.xml new file mode 100644 index 0000000..e9faa51 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy8-bottom.xml @@ -0,0 +1,3 @@ + + +180210532110-3215321 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy8-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy8-left.xml new file mode 100644 index 0000000..f3bf7a8 --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy8-left.xml @@ -0,0 +1,3 @@ + + +270210532110-3215321 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy8-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy8-right.xml new file mode 100644 index 0000000..de268ba --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy8-right.xml @@ -0,0 +1,3 @@ + + +90210532110-3215321 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy9-left.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy9-left.xml new file mode 100644 index 0000000..b13c70f --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy9-left.xml @@ -0,0 +1,3 @@ + + +2602.520-52.50100.200.200.200.200.200.22 diff --git a/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy9-right.xml b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy9-right.xml new file mode 100644 index 0000000..4940cdb --- /dev/null +++ b/vulkanon/generator/tmp/02-cleanup/vulkanon/l0_enemy9-right.xml @@ -0,0 +1,3 @@ + + +1002.52052.50100.200.200.200.200.200.22 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss0.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss0.xml new file mode 100644 index 0000000..ba01b7e --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss0.xml @@ -0,0 +1,3 @@ + + +(-20)0.5(-20)+20(-20)-20(20)0.5(20)+20(20)-20102023522530180111400.11120 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss1.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss1.xml new file mode 100644 index 0000000..4e65637 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss1.xml @@ -0,0 +1,3 @@ + + +019011801270141120100101110 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss10.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss10.xml new file mode 100644 index 0000000..31e1234 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss10.xml @@ -0,0 +1,3 @@ + + +-(-90)12(-90)1-(90)12(90)1(180)21802(180)23202019999116030 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss2.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss2.xml new file mode 100644 index 0000000..1b0299f --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss2.xml @@ -0,0 +1,3 @@ + + +00.220-2040-4060-6080-8001560180111300120 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss3-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss3-left.xml new file mode 100644 index 0000000..2d88cc2 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss3-left.xml @@ -0,0 +1,3 @@ + + +63035(-1)13035(1)1380801601210 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss3-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss3-right.xml new file mode 100644 index 0000000..0c726e0 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss3-right.xml @@ -0,0 +1,3 @@ + + +-63035(1)13035(-1)1380802001210 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss4.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss4.xml new file mode 100644 index 0000000..b603744 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss4.xml @@ -0,0 +1,3 @@ + + +(5)*221300141(4)*2(3)*2(2)*2(1)*2(120)2((120))0.1((120))0.1((120))0.1((120))0.1((120))0.1(140)2((140))0.1((140))0.1((140))0.1((140))0.1((140))0.1(160)2((160))0.1((160))0.1((160))0.1((160))0.1((160))0.1(180)2((180))0.1((180))0.1((180))0.1((180))0.1((180))0.1(200)2((200))0.1((200))0.1((200))0.1((200))0.1((200))0.1(220)2((220))0.1((220))0.1((220))0.1((220))0.1((220))0.1(240)2((240))0.1((240))0.1((240))0.1((240))0.1((240))0.13060 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss5-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss5-left.xml new file mode 100644 index 0000000..ad0c06c --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss5-left.xml @@ -0,0 +1,3 @@ + + +20*$rand01-3253360 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss5-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss5-right.xml new file mode 100644 index 0000000..6b87c1d --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss5-right.xml @@ -0,0 +1,3 @@ + + +20*$rand013253360 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss6.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss6.xml new file mode 100644 index 0000000..6f5ef05 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss6.xml @@ -0,0 +1,3 @@ + + +2202-223213999930300 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss7.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss7.xml new file mode 100644 index 0000000..158e039 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss7.xml @@ -0,0 +1,3 @@ + + +-(-90)12(-90)1-(90)12(90)10202023023202018010.11120 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss8-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss8-left.xml new file mode 100644 index 0000000..e7e6aaa --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss8-left.xml @@ -0,0 +1,3 @@ + + +-4210260180121300120 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss8-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss8-right.xml new file mode 100644 index 0000000..d862fea --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss8-right.xml @@ -0,0 +1,3 @@ + + +4210260180121300120 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss9.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss9.xml new file mode 100644 index 0000000..61cd7fd --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_boss9.xml @@ -0,0 +1,3 @@ + + +-(-90)12(-90)1-(90)12(90)1(0)202(0)2(180)21802(180)2320201999901130 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy0.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy0.xml new file mode 100644 index 0000000..b5bb80b --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy0.xml @@ -0,0 +1,3 @@ + + +18201101801112050219 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy1-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy1-left.xml new file mode 100644 index 0000000..1743d92 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy1-left.xml @@ -0,0 +1,3 @@ + + +00.220-2040-4060-6080-80015609010.513020 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy1-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy1-right.xml new file mode 100644 index 0000000..79369c3 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy1-right.xml @@ -0,0 +1,3 @@ + + +00.220-2040-4060-6080-800156027010.513020 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy10.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy10.xml new file mode 100644 index 0000000..7f71388 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy10.xml @@ -0,0 +1,3 @@ + + +(130)2((130))0.25((130))0.25((130))0.25((130))0.25((130))0.25(150)2((150))0.25((150))0.25((150))0.25((150))0.25((150))0.25(170)2((170))0.25((170))0.25((170))0.25((170))0.25((170))0.25(190)2((190))0.25((190))0.25((190))0.25((190))0.25((190))0.25(210)2((210))0.25((210))0.25((210))0.25((210))0.25((210))0.25(230)2((230))0.25((230))0.25((230))0.25((230))0.25((230))0.25301801112010 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy11-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy11-left.xml new file mode 100644 index 0000000..f2a3a1f --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy11-left.xml @@ -0,0 +1,3 @@ + + +$rand*501(90)2(-90)22-901212112020 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy11-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy11-right.xml new file mode 100644 index 0000000..8df3944 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy11-right.xml @@ -0,0 +1,3 @@ + + +$rand*501(90)2(-90)22901212112020 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy12.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy12.xml new file mode 100644 index 0000000..989ba06 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy12.xml @@ -0,0 +1,3 @@ + + +00.50210 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy13-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy13-left.xml new file mode 100644 index 0000000..a3f83be --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy13-left.xml @@ -0,0 +1,3 @@ + + +902-9023$rand*36012-39999410050 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy13-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy13-right.xml new file mode 100644 index 0000000..e5dcc9f --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy13-right.xml @@ -0,0 +1,3 @@ + + +902-9023$rand*3601239999410050 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy14-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy14-left.xml new file mode 100644 index 0000000..772651b --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy14-left.xml @@ -0,0 +1,3 @@ + + +-120210100 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy14-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy14-right.xml new file mode 100644 index 0000000..09750ae --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy14-right.xml @@ -0,0 +1,3 @@ + + +120210100 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy15-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy15-left.xml new file mode 100644 index 0000000..a17afdc --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy15-left.xml @@ -0,0 +1,3 @@ + + +-221018022060 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy15-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy15-right.xml new file mode 100644 index 0000000..f252b5a --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy15-right.xml @@ -0,0 +1,3 @@ + + +221018022060 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy16.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy16.xml new file mode 100644 index 0000000..2207f99 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy16.xml @@ -0,0 +1,3 @@ + + +-626212025240251090 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy17.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy17.xml new file mode 100644 index 0000000..fa34d50 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy17.xml @@ -0,0 +1,3 @@ + + +1352225225818011120 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy18-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy18-left.xml new file mode 100644 index 0000000..b8985bf --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy18-left.xml @@ -0,0 +1,3 @@ + + +-330-0.50-0.50-0.50-0.5118010.5120360 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy18-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy18-right.xml new file mode 100644 index 0000000..5bfd775 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy18-right.xml @@ -0,0 +1,3 @@ + + +330-0.50-0.50-0.50-0.5118010.5120360 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy19-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy19-left.xml new file mode 100644 index 0000000..8c9ac45 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy19-left.xml @@ -0,0 +1,3 @@ + + +180(6/2.0)135(6/2.0)2(4/2.0)1-29999300 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy19-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy19-right.xml new file mode 100644 index 0000000..7ae583f --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy19-right.xml @@ -0,0 +1,3 @@ + + +180(6/2.0)225(6/2.0)2(4/2.0)129999300 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy2.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy2.xml new file mode 100644 index 0000000..04f790f --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy2.xml @@ -0,0 +1,3 @@ + + +23170395111801605 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy20-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy20-left.xml new file mode 100644 index 0000000..0c04f35 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy20-left.xml @@ -0,0 +1,3 @@ + + +-(-90)12(-90)1-(90)12(90)10202023013027023100 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy20-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy20-right.xml new file mode 100644 index 0000000..164bade --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy20-right.xml @@ -0,0 +1,3 @@ + + +-(-90)12(-90)1-(90)12(90)1020202301309023100 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy21.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy21.xml new file mode 100644 index 0000000..08a2416 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy21.xml @@ -0,0 +1,3 @@ + + +00.12040-20-40180111600101001015110106002 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy22.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy22.xml new file mode 100644 index 0000000..775f545 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy22.xml @@ -0,0 +1,3 @@ + + +011011801 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy23.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy23.xml new file mode 100644 index 0000000..3808bf7 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy23.xml @@ -0,0 +1,3 @@ + + +10180130112 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy3.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy3.xml new file mode 100644 index 0000000..d11aa97 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy3.xml @@ -0,0 +1,3 @@ + + +181023010.5111030520 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy4.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy4.xml new file mode 100644 index 0000000..1adeed5 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy4.xml @@ -0,0 +1,3 @@ + + +00.52040-20-40015101205 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy5-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy5-left.xml new file mode 100644 index 0000000..2d40b38 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy5-left.xml @@ -0,0 +1,3 @@ + + +1800.218015109010.5130 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy5-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy5-right.xml new file mode 100644 index 0000000..8038483 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy5-right.xml @@ -0,0 +1,3 @@ + + +1800.2180151027010.5130 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy6.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy6.xml new file mode 100644 index 0000000..545efa1 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy6.xml @@ -0,0 +1,3 @@ + + +104-10411000 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy7.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy7.xml new file mode 100644 index 0000000..34766ce --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy7.xml @@ -0,0 +1,3 @@ + + +041100301206 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy8-bottom.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy8-bottom.xml new file mode 100644 index 0000000..854f663 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy8-bottom.xml @@ -0,0 +1,3 @@ + + +321-321510180210 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy8-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy8-left.xml new file mode 100644 index 0000000..babd999 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy8-left.xml @@ -0,0 +1,3 @@ + + +321-321510270210 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy8-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy8-right.xml new file mode 100644 index 0000000..bfb045c --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy8-right.xml @@ -0,0 +1,3 @@ + + +321-32151090210 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy9-left.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy9-left.xml new file mode 100644 index 0000000..d7bc54a --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy9-left.xml @@ -0,0 +1,3 @@ + + +-52.50100.200.200.200.200.200.222602.520 diff --git a/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy9-right.xml b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy9-right.xml new file mode 100644 index 0000000..13c3ec8 --- /dev/null +++ b/vulkanon/generator/tmp/03-makestepfunc/vulkanon/l0_enemy9-right.xml @@ -0,0 +1,3 @@ + + +52.50100.200.200.200.200.200.221002.520 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss0.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss0.xml new file mode 100644 index 0000000..3b72a59 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss0.xml @@ -0,0 +1,3 @@ + + +(-20)0.5(-20)+20(-20)-20(20)0.5(20)+20(20)-20102023522530180111400.11120 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss1.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss1.xml new file mode 100644 index 0000000..44f16ec --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss1.xml @@ -0,0 +1,3 @@ + + +019011801270141120100101110 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss10.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss10.xml new file mode 100644 index 0000000..f606a73 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss10.xml @@ -0,0 +1,3 @@ + + +-(-90)12(-90)1-(90)12(90)1(180)21802(180)23202019999116030 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss2.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss2.xml new file mode 100644 index 0000000..dd7e827 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss2.xml @@ -0,0 +1,3 @@ + + +00.220-2040-4060-6080-8001560180111300120 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss3-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss3-left.xml new file mode 100644 index 0000000..d9871b0 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss3-left.xml @@ -0,0 +1,3 @@ + + +63035(-1)13035(1)1380801601210 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss3-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss3-right.xml new file mode 100644 index 0000000..979b615 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss3-right.xml @@ -0,0 +1,3 @@ + + +-63035(1)13035(-1)1380802001210 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss4.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss4.xml new file mode 100644 index 0000000..21f5e91 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss4.xml @@ -0,0 +1,3 @@ + + +(5)*221300141(4)*2(3)*2(2)*2(1)*2(120)2((120))0.1((120))0.1((120))0.1((120))0.1((120))0.1(140)2((140))0.1((140))0.1((140))0.1((140))0.1((140))0.1(160)2((160))0.1((160))0.1((160))0.1((160))0.1((160))0.1(180)2((180))0.1((180))0.1((180))0.1((180))0.1((180))0.1(200)2((200))0.1((200))0.1((200))0.1((200))0.1((200))0.1(220)2((220))0.1((220))0.1((220))0.1((220))0.1((220))0.1(240)2((240))0.1((240))0.1((240))0.1((240))0.1((240))0.13060 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss5-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss5-left.xml new file mode 100644 index 0000000..0a02231 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss5-left.xml @@ -0,0 +1,3 @@ + + +20*$rand01-3253360 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss5-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss5-right.xml new file mode 100644 index 0000000..833ef23 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss5-right.xml @@ -0,0 +1,3 @@ + + +20*$rand013253360 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss6.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss6.xml new file mode 100644 index 0000000..754b431 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss6.xml @@ -0,0 +1,3 @@ + + +2202-223213999930300 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss7.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss7.xml new file mode 100644 index 0000000..c62aa0f --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss7.xml @@ -0,0 +1,3 @@ + + +-(-90)12(-90)1-(90)12(90)10202023023202018010.11120 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss8-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss8-left.xml new file mode 100644 index 0000000..39ccb04 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss8-left.xml @@ -0,0 +1,3 @@ + + +-4210260180121300120 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss8-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss8-right.xml new file mode 100644 index 0000000..160f4e9 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss8-right.xml @@ -0,0 +1,3 @@ + + +4210260180121300120 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss9.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss9.xml new file mode 100644 index 0000000..7ffd422 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_boss9.xml @@ -0,0 +1,3 @@ + + +-(-90)12(-90)1-(90)12(90)1(0)202(0)2(180)21802(180)2320201999901130 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy0.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy0.xml new file mode 100644 index 0000000..f36915e --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy0.xml @@ -0,0 +1,3 @@ + + +18201101801112050219 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy1-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy1-left.xml new file mode 100644 index 0000000..e94c3e8 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy1-left.xml @@ -0,0 +1,3 @@ + + +00.220-2040-4060-6080-80015609010.513020 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy1-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy1-right.xml new file mode 100644 index 0000000..9801476 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy1-right.xml @@ -0,0 +1,3 @@ + + +00.220-2040-4060-6080-800156027010.513020 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy10.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy10.xml new file mode 100644 index 0000000..dc9329e --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy10.xml @@ -0,0 +1,3 @@ + + +(130)2((130))0.25((130))0.25((130))0.25((130))0.25((130))0.25(150)2((150))0.25((150))0.25((150))0.25((150))0.25((150))0.25(170)2((170))0.25((170))0.25((170))0.25((170))0.25((170))0.25(190)2((190))0.25((190))0.25((190))0.25((190))0.25((190))0.25(210)2((210))0.25((210))0.25((210))0.25((210))0.25((210))0.25(230)2((230))0.25((230))0.25((230))0.25((230))0.25((230))0.25301801112010 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy11-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy11-left.xml new file mode 100644 index 0000000..64a47aa --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy11-left.xml @@ -0,0 +1,3 @@ + + +$rand*501(90)2(-90)22-901212112020 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy11-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy11-right.xml new file mode 100644 index 0000000..3f6ffc8 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy11-right.xml @@ -0,0 +1,3 @@ + + +$rand*501(90)2(-90)22901212112020 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy12.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy12.xml new file mode 100644 index 0000000..92ca0c9 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy12.xml @@ -0,0 +1,3 @@ + + +00.50210 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy13-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy13-left.xml new file mode 100644 index 0000000..f8e1a8c --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy13-left.xml @@ -0,0 +1,3 @@ + + +902-9023$rand*36012-39999410050 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy13-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy13-right.xml new file mode 100644 index 0000000..0b0e39f --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy13-right.xml @@ -0,0 +1,3 @@ + + +902-9023$rand*3601239999410050 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy14-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy14-left.xml new file mode 100644 index 0000000..995c9e5 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy14-left.xml @@ -0,0 +1,3 @@ + + +-120210100 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy14-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy14-right.xml new file mode 100644 index 0000000..16fdd1e --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy14-right.xml @@ -0,0 +1,3 @@ + + +120210100 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy15-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy15-left.xml new file mode 100644 index 0000000..248f4eb --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy15-left.xml @@ -0,0 +1,3 @@ + + +-221018022060 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy15-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy15-right.xml new file mode 100644 index 0000000..2076bdb --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy15-right.xml @@ -0,0 +1,3 @@ + + +221018022060 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy16.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy16.xml new file mode 100644 index 0000000..61d32d4 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy16.xml @@ -0,0 +1,3 @@ + + +-626212025240251090 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy17.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy17.xml new file mode 100644 index 0000000..3a3ab61 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy17.xml @@ -0,0 +1,3 @@ + + +1352225225818011120 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy18-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy18-left.xml new file mode 100644 index 0000000..bd8d4de --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy18-left.xml @@ -0,0 +1,3 @@ + + +-330-0.50-0.50-0.50-0.5118010.5120360 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy18-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy18-right.xml new file mode 100644 index 0000000..9e6d368 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy18-right.xml @@ -0,0 +1,3 @@ + + +330-0.50-0.50-0.50-0.5118010.5120360 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy19-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy19-left.xml new file mode 100644 index 0000000..b75ced7 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy19-left.xml @@ -0,0 +1,3 @@ + + +180(6/2.0)135(6/2.0)2(4/2.0)1-29999300 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy19-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy19-right.xml new file mode 100644 index 0000000..668f74c --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy19-right.xml @@ -0,0 +1,3 @@ + + +180(6/2.0)225(6/2.0)2(4/2.0)129999300 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy2.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy2.xml new file mode 100644 index 0000000..8fe60ca --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy2.xml @@ -0,0 +1,3 @@ + + +23170395111801605 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy20-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy20-left.xml new file mode 100644 index 0000000..f16197d --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy20-left.xml @@ -0,0 +1,3 @@ + + +-(-90)12(-90)1-(90)12(90)10202023013027023100 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy20-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy20-right.xml new file mode 100644 index 0000000..d6b1521 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy20-right.xml @@ -0,0 +1,3 @@ + + +-(-90)12(-90)1-(90)12(90)1020202301309023100 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy21.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy21.xml new file mode 100644 index 0000000..79d5c60 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy21.xml @@ -0,0 +1,3 @@ + + +00.12040-20-40180111600101001015110106002 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy22.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy22.xml new file mode 100644 index 0000000..c6db7da --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy22.xml @@ -0,0 +1,3 @@ + + +011011801 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy23.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy23.xml new file mode 100644 index 0000000..67b451a --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy23.xml @@ -0,0 +1,3 @@ + + +10180130112 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy3.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy3.xml new file mode 100644 index 0000000..3c21cb4 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy3.xml @@ -0,0 +1,3 @@ + + +181023010.5111030520 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy4.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy4.xml new file mode 100644 index 0000000..904b1e1 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy4.xml @@ -0,0 +1,3 @@ + + +00.52040-20-40015101205 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy5-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy5-left.xml new file mode 100644 index 0000000..9c06cee --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy5-left.xml @@ -0,0 +1,3 @@ + + +1800.218015109010.5130 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy5-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy5-right.xml new file mode 100644 index 0000000..f716f73 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy5-right.xml @@ -0,0 +1,3 @@ + + +1800.2180151027010.5130 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy6.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy6.xml new file mode 100644 index 0000000..5d300b3 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy6.xml @@ -0,0 +1,3 @@ + + +104-10411000 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy7.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy7.xml new file mode 100644 index 0000000..d7624f0 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy7.xml @@ -0,0 +1,3 @@ + + +041100301206 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy8-bottom.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy8-bottom.xml new file mode 100644 index 0000000..a920613 --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy8-bottom.xml @@ -0,0 +1,3 @@ + + +321-321510180210 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy8-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy8-left.xml new file mode 100644 index 0000000..db85b1a --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy8-left.xml @@ -0,0 +1,3 @@ + + +321-321510270210 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy8-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy8-right.xml new file mode 100644 index 0000000..cfbfd6a --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy8-right.xml @@ -0,0 +1,3 @@ + + +321-32151090210 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy9-left.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy9-left.xml new file mode 100644 index 0000000..b3d499f --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy9-left.xml @@ -0,0 +1,3 @@ + + +-52.50100.200.200.200.200.200.222602.520 diff --git a/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy9-right.xml b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy9-right.xml new file mode 100644 index 0000000..dca346b --- /dev/null +++ b/vulkanon/generator/tmp/04-splitbullet/vulkanon/l0_enemy9-right.xml @@ -0,0 +1,3 @@ + + +52.50100.200.200.200.200.200.221002.520 diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss0.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss0.cpp new file mode 100644 index 0000000..42ebb09 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss0.cpp @@ -0,0 +1,65 @@ +extern const BulletStepFunc bullet_f133cfe56d797d92d8aa9c816c67fc6d_36341c0e8b8dd3b18492fefc828e7390[] = { +stepfunc_b587d9b658e1574698c1f30e2a9ced3c_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_ab5073b1a6350cc9ffeec0330d39224a_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_36341c0e8b8dd3b18492fefc828e7390, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss0.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss0.hpp new file mode 100644 index 0000000..ca871b8 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss0.hpp @@ -0,0 +1,20 @@ +#ifndef GENERATED_4e3ccaa220d3d51dc285126bca610cc0_HPP +#define GENERATED_4e3ccaa220d3d51dc285126bca610cc0_HPP + +#include "bullet.hpp" + +void stepfunc_b587d9b658e1574698c1f30e2a9ced3c_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); +void stepfunc_ab5073b1a6350cc9ffeec0330d39224a_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); +void stepfunc_d3e4d3d17cf2345eb8dbd615c1d4ea80_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); +void stepfunc_0cde516a188577029bf4338e5541bbcc_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); +void stepfunc_5653a4ee143c51c2b5b3c8994b157d16_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); +void stepfunc_90cd1ede31c644b457c84fe448ce7e6e_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_36341c0e8b8dd3b18492fefc828e7390(BulletInfo *p); + + +extern const BulletStepFunc bullet_f133cfe56d797d92d8aa9c816c67fc6d_36341c0e8b8dd3b18492fefc828e7390[]; +const unsigned int bullet_f133cfe56d797d92d8aa9c816c67fc6d_36341c0e8b8dd3b18492fefc828e7390_size = 64; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss1.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss1.cpp new file mode 100644 index 0000000..263331e --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss1.cpp @@ -0,0 +1,214 @@ +extern const BulletStepFunc bullet_2af836feb7e950d3c037a94ed09ce4c4_7964c56f54d5225e5f62ad03d1bd17a1[] = { +stepfunc_ff479a891ad38e5c6271b8903a3f341b_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_7964c56f54d5225e5f62ad03d1bd17a1, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss1.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss1.hpp new file mode 100644 index 0000000..7db0114 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss1.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_b01e02e2466b44bb72a4e39adbd4503d_HPP +#define GENERATED_b01e02e2466b44bb72a4e39adbd4503d_HPP + +#include "bullet.hpp" + +void stepfunc_ff479a891ad38e5c6271b8903a3f341b_7964c56f54d5225e5f62ad03d1bd17a1(BulletInfo *p); +void stepfunc_55403e5096edbdc12500ee6028455c09_7964c56f54d5225e5f62ad03d1bd17a1(BulletInfo *p); +void stepfunc_b9f3746024faf71a948d02a3f58cba12_7964c56f54d5225e5f62ad03d1bd17a1(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_7964c56f54d5225e5f62ad03d1bd17a1(BulletInfo *p); + + +extern const BulletStepFunc bullet_2af836feb7e950d3c037a94ed09ce4c4_7964c56f54d5225e5f62ad03d1bd17a1[]; +const unsigned int bullet_2af836feb7e950d3c037a94ed09ce4c4_7964c56f54d5225e5f62ad03d1bd17a1_size = 213; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss10.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss10.cpp new file mode 100644 index 0000000..0f637ae --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss10.cpp @@ -0,0 +1,642 @@ +extern const BulletStepFunc bullet_3bf2fe92c853a0b8532256fdc4cd8974_93f0c952a1e5c566defd84f3fa39b3a3[] = { +stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_e9ec35a8b787bec56122ddc769b9f643_93f0c952a1e5c566defd84f3fa39b3a3, +NULL}; +extern const BulletStepFunc bullet_87b6e409c1dbd8cf810ead90901af559_93f0c952a1e5c566defd84f3fa39b3a3[] = { +stepfunc_f5a5b174ac927df596a7415eb8e38ffc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_0e6b9221191b393a92fed534b357420d_93f0c952a1e5c566defd84f3fa39b3a3, +NULL}; +extern const BulletStepFunc bullet_efe4b594adcf99ab39c1bd42bf69b85a_93f0c952a1e5c566defd84f3fa39b3a3[] = { +stepfunc_0316f4e34e14987884f6823595bf2bda_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3, +stepfunc_fddccad3a4269a6062fda865a05f419c_93f0c952a1e5c566defd84f3fa39b3a3, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss10.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss10.hpp new file mode 100644 index 0000000..02c3207 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss10.hpp @@ -0,0 +1,25 @@ +#ifndef GENERATED_941e41a9be1747894953cd39550a36b7_HPP +#define GENERATED_941e41a9be1747894953cd39550a36b7_HPP + +#include "bullet.hpp" + +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_0e6b9221191b393a92fed534b357420d_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_0316f4e34e14987884f6823595bf2bda_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_f8610d2990ea5484b7e09f689540276e_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_c172a15bb6eca889f748350b364028cc_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_93f0c952a1e5c566defd84f3fa39b3a3(BulletInfo *p); + + +extern const BulletStepFunc bullet_3bf2fe92c853a0b8532256fdc4cd8974_93f0c952a1e5c566defd84f3fa39b3a3[]; +const unsigned int bullet_3bf2fe92c853a0b8532256fdc4cd8974_93f0c952a1e5c566defd84f3fa39b3a3_size = 3; +extern const BulletStepFunc bullet_87b6e409c1dbd8cf810ead90901af559_93f0c952a1e5c566defd84f3fa39b3a3[]; +const unsigned int bullet_87b6e409c1dbd8cf810ead90901af559_93f0c952a1e5c566defd84f3fa39b3a3_size = 3; +extern const BulletStepFunc bullet_efe4b594adcf99ab39c1bd42bf69b85a_93f0c952a1e5c566defd84f3fa39b3a3[]; +const unsigned int bullet_efe4b594adcf99ab39c1bd42bf69b85a_93f0c952a1e5c566defd84f3fa39b3a3_size = 633; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss2.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss2.cpp new file mode 100644 index 0000000..66e285c --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss2.cpp @@ -0,0 +1,25 @@ +extern const BulletStepFunc bullet_73cfb880b522d7f0c1a5d91d0c166c50_06bbe9313d42a45857295f64293f5f93[] = { +stepfunc_45365fa1d225374d0027179aa02044d9_06bbe9313d42a45857295f64293f5f93, +stepfunc_c2db9f05d4f182941e7e9906f14f63c0_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_06bbe9313d42a45857295f64293f5f93, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss2.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss2.hpp new file mode 100644 index 0000000..7eaa55b --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss2.hpp @@ -0,0 +1,18 @@ +#ifndef GENERATED_bbd1bc4009af2983b7426383df14aea5_HPP +#define GENERATED_bbd1bc4009af2983b7426383df14aea5_HPP + +#include "bullet.hpp" + +void stepfunc_45365fa1d225374d0027179aa02044d9_06bbe9313d42a45857295f64293f5f93(BulletInfo *p); +void stepfunc_c2db9f05d4f182941e7e9906f14f63c0_06bbe9313d42a45857295f64293f5f93(BulletInfo *p); +void stepfunc_b0a4c1453fb6f32de0c898fde337650f_06bbe9313d42a45857295f64293f5f93(BulletInfo *p); +void stepfunc_f8065ac21976556042f7f909fa003d88_06bbe9313d42a45857295f64293f5f93(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_06bbe9313d42a45857295f64293f5f93(BulletInfo *p); + + +extern const BulletStepFunc bullet_73cfb880b522d7f0c1a5d91d0c166c50_06bbe9313d42a45857295f64293f5f93[]; +const unsigned int bullet_73cfb880b522d7f0c1a5d91d0c166c50_06bbe9313d42a45857295f64293f5f93_size = 24; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss3-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss3-left.cpp new file mode 100644 index 0000000..420c72d --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss3-left.cpp @@ -0,0 +1,1604 @@ +extern const BulletStepFunc bullet_4abaf393c89587751eb6d493d3f70983_325b426ff585d06f988aa36ec8788a1e[] = { +stepfunc_c9fbc7ebc4e7519a079ed50193da18c1_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_325b426ff585d06f988aa36ec8788a1e, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss3-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss3-left.hpp new file mode 100644 index 0000000..3ef0b3d --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss3-left.hpp @@ -0,0 +1,18 @@ +#ifndef GENERATED_3e76c3effa46fc0a3d819ca95a068aff_HPP +#define GENERATED_3e76c3effa46fc0a3d819ca95a068aff_HPP + +#include "bullet.hpp" + +void stepfunc_c9fbc7ebc4e7519a079ed50193da18c1_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p); +void stepfunc_df8338ca6b01134343171709082d481d_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p); +void stepfunc_5f0e1fd0be52e72001931ccb9cf1c2f8_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p); +void stepfunc_a51f32c3e2f8739d5bf3fc204882a14b_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_325b426ff585d06f988aa36ec8788a1e(BulletInfo *p); + + +extern const BulletStepFunc bullet_4abaf393c89587751eb6d493d3f70983_325b426ff585d06f988aa36ec8788a1e[]; +const unsigned int bullet_4abaf393c89587751eb6d493d3f70983_325b426ff585d06f988aa36ec8788a1e_size = 1603; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss3-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss3-right.cpp new file mode 100644 index 0000000..4d71b65 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss3-right.cpp @@ -0,0 +1,1604 @@ +extern const BulletStepFunc bullet_f9993b0513e93098fab121891b23ea6d_c163d0c1eca8e02c382ac06659364b34[] = { +stepfunc_4fa44cf997ce9b24022060f4c792dd11_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_c163d0c1eca8e02c382ac06659364b34, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss3-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss3-right.hpp new file mode 100644 index 0000000..522a608 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss3-right.hpp @@ -0,0 +1,18 @@ +#ifndef GENERATED_acbc40654249b50f7eed34286135cccc_HPP +#define GENERATED_acbc40654249b50f7eed34286135cccc_HPP + +#include "bullet.hpp" + +void stepfunc_4fa44cf997ce9b24022060f4c792dd11_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p); +void stepfunc_d450f9273f0fe0df221e11f0978a7795_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p); +void stepfunc_f577f4e20d6385049154ba23f048ad4d_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p); +void stepfunc_7f241a40dec2e45c6453da2c5f729137_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_c163d0c1eca8e02c382ac06659364b34(BulletInfo *p); + + +extern const BulletStepFunc bullet_f9993b0513e93098fab121891b23ea6d_c163d0c1eca8e02c382ac06659364b34[]; +const unsigned int bullet_f9993b0513e93098fab121891b23ea6d_c163d0c1eca8e02c382ac06659364b34_size = 1603; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss4.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss4.cpp new file mode 100644 index 0000000..b4624ac --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss4.cpp @@ -0,0 +1,88 @@ +extern const BulletStepFunc bullet_9bf54119cb69d6c1ae966de6239697dc_bd7f7947863a9dae4991e3f4e756c141[] = { +stepfunc_edad9eb0530cd8f1854627ea7800ba42_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_b012f165c3ed92badaf5fbdde484e240_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_d8c03b6b121b1cc1078c96a88e554964_bd7f7947863a9dae4991e3f4e756c141, +NULL}; +extern const BulletStepFunc bullet_6022fe41498322d7403839e9dab5c319_bd7f7947863a9dae4991e3f4e756c141[] = { +stepfunc_bc22530ba7cc7020d0e2d282fa281479_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_b012f165c3ed92badaf5fbdde484e240_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_d8c03b6b121b1cc1078c96a88e554964_bd7f7947863a9dae4991e3f4e756c141, +NULL}; +extern const BulletStepFunc bullet_aaa56f971396af7dcab9753fa9f39973_bd7f7947863a9dae4991e3f4e756c141[] = { +stepfunc_4abf70eeed0113d66a150639bd1666ec_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_b012f165c3ed92badaf5fbdde484e240_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_d8c03b6b121b1cc1078c96a88e554964_bd7f7947863a9dae4991e3f4e756c141, +NULL}; +extern const BulletStepFunc bullet_fb017cff06553e78056155bfee976341_bd7f7947863a9dae4991e3f4e756c141[] = { +stepfunc_e104953b37e2f94e6c6ca77b6ad7d99b_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_b012f165c3ed92badaf5fbdde484e240_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_d8c03b6b121b1cc1078c96a88e554964_bd7f7947863a9dae4991e3f4e756c141, +NULL}; +extern const BulletStepFunc bullet_c14591504d46feb5183b04dde6a629e0_bd7f7947863a9dae4991e3f4e756c141[] = { +stepfunc_787c9289c54883ed836a061a169f9db0_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_b012f165c3ed92badaf5fbdde484e240_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_d8c03b6b121b1cc1078c96a88e554964_bd7f7947863a9dae4991e3f4e756c141, +NULL}; +extern const BulletStepFunc bullet_80d24ef212420a948cbbb71834b07362_bd7f7947863a9dae4991e3f4e756c141[] = { +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_bd7f7947863a9dae4991e3f4e756c141, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss4.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss4.hpp new file mode 100644 index 0000000..4b1928b --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss4.hpp @@ -0,0 +1,32 @@ +#ifndef GENERATED_ec00ad2bb4ea122a20aa282a443c9de5_HPP +#define GENERATED_ec00ad2bb4ea122a20aa282a443c9de5_HPP + +#include "bullet.hpp" + +void stepfunc_edad9eb0530cd8f1854627ea7800ba42_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_b012f165c3ed92badaf5fbdde484e240_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_d8c03b6b121b1cc1078c96a88e554964_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_bc22530ba7cc7020d0e2d282fa281479_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_4abf70eeed0113d66a150639bd1666ec_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_e104953b37e2f94e6c6ca77b6ad7d99b_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_787c9289c54883ed836a061a169f9db0_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_780b4b175b9d41de4f52574855de3519_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_bd7f7947863a9dae4991e3f4e756c141(BulletInfo *p); + + +extern const BulletStepFunc bullet_9bf54119cb69d6c1ae966de6239697dc_bd7f7947863a9dae4991e3f4e756c141[]; +const unsigned int bullet_9bf54119cb69d6c1ae966de6239697dc_bd7f7947863a9dae4991e3f4e756c141_size = 4; +extern const BulletStepFunc bullet_6022fe41498322d7403839e9dab5c319_bd7f7947863a9dae4991e3f4e756c141[]; +const unsigned int bullet_6022fe41498322d7403839e9dab5c319_bd7f7947863a9dae4991e3f4e756c141_size = 4; +extern const BulletStepFunc bullet_aaa56f971396af7dcab9753fa9f39973_bd7f7947863a9dae4991e3f4e756c141[]; +const unsigned int bullet_aaa56f971396af7dcab9753fa9f39973_bd7f7947863a9dae4991e3f4e756c141_size = 4; +extern const BulletStepFunc bullet_fb017cff06553e78056155bfee976341_bd7f7947863a9dae4991e3f4e756c141[]; +const unsigned int bullet_fb017cff06553e78056155bfee976341_bd7f7947863a9dae4991e3f4e756c141_size = 4; +extern const BulletStepFunc bullet_c14591504d46feb5183b04dde6a629e0_bd7f7947863a9dae4991e3f4e756c141[]; +const unsigned int bullet_c14591504d46feb5183b04dde6a629e0_bd7f7947863a9dae4991e3f4e756c141_size = 4; +extern const BulletStepFunc bullet_80d24ef212420a948cbbb71834b07362_bd7f7947863a9dae4991e3f4e756c141[]; +const unsigned int bullet_80d24ef212420a948cbbb71834b07362_bd7f7947863a9dae4991e3f4e756c141_size = 62; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss5-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss5-left.cpp new file mode 100644 index 0000000..4827b63 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss5-left.cpp @@ -0,0 +1,2167 @@ +extern const BulletStepFunc bullet_7381bc6f43eb422d458a2239f53566ea_8bfcd38de5961107785fdc25e687ca15[] = { +stepfunc_efe2c0d124d296be77286f5d11e9f0b8_8bfcd38de5961107785fdc25e687ca15, +stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_8bfcd38de5961107785fdc25e687ca15, +NULL}; +extern const BulletStepFunc bullet_7ec1b7e792d02c73be80cb4c5cc56a1c_8bfcd38de5961107785fdc25e687ca15[] = { +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15, +stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_8bfcd38de5961107785fdc25e687ca15, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss5-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss5-left.hpp new file mode 100644 index 0000000..9e0ab65 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss5-left.hpp @@ -0,0 +1,20 @@ +#ifndef GENERATED_cf14360fc2c5e9e109518301055a02c3_HPP +#define GENERATED_cf14360fc2c5e9e109518301055a02c3_HPP + +#include "bullet.hpp" + +void stepfunc_efe2c0d124d296be77286f5d11e9f0b8_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p); +void stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p); +void stepfunc_5e8e5dd10e033233c7403e7dee40b025_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p); +void stepfunc_48335121df3ff5225f00d637f2b62596_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_8bfcd38de5961107785fdc25e687ca15(BulletInfo *p); + + +extern const BulletStepFunc bullet_7381bc6f43eb422d458a2239f53566ea_8bfcd38de5961107785fdc25e687ca15[]; +const unsigned int bullet_7381bc6f43eb422d458a2239f53566ea_8bfcd38de5961107785fdc25e687ca15_size = 3; +extern const BulletStepFunc bullet_7ec1b7e792d02c73be80cb4c5cc56a1c_8bfcd38de5961107785fdc25e687ca15[]; +const unsigned int bullet_7ec1b7e792d02c73be80cb4c5cc56a1c_8bfcd38de5961107785fdc25e687ca15_size = 2162; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss5-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss5-right.cpp new file mode 100644 index 0000000..fe4bba5 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss5-right.cpp @@ -0,0 +1,2167 @@ +extern const BulletStepFunc bullet_a4bad85e4587f5e7736224afd51f0a05_da3c2a55b270cbe61ada2649019872a0[] = { +stepfunc_efe2c0d124d296be77286f5d11e9f0b8_da3c2a55b270cbe61ada2649019872a0, +stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_da3c2a55b270cbe61ada2649019872a0, +NULL}; +extern const BulletStepFunc bullet_b336a90455c11167059f131bf0d47d6c_da3c2a55b270cbe61ada2649019872a0[] = { +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0, +stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_da3c2a55b270cbe61ada2649019872a0, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss5-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss5-right.hpp new file mode 100644 index 0000000..07b5a0d --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss5-right.hpp @@ -0,0 +1,20 @@ +#ifndef GENERATED_d3ad58166ff1fc5d2ff857b8722f19ec_HPP +#define GENERATED_d3ad58166ff1fc5d2ff857b8722f19ec_HPP + +#include "bullet.hpp" + +void stepfunc_efe2c0d124d296be77286f5d11e9f0b8_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p); +void stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p); +void stepfunc_3c9c7c2ed83fbfbe863ac4d94c624a61_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p); +void stepfunc_48335121df3ff5225f00d637f2b62596_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_da3c2a55b270cbe61ada2649019872a0(BulletInfo *p); + + +extern const BulletStepFunc bullet_a4bad85e4587f5e7736224afd51f0a05_da3c2a55b270cbe61ada2649019872a0[]; +const unsigned int bullet_a4bad85e4587f5e7736224afd51f0a05_da3c2a55b270cbe61ada2649019872a0_size = 3; +extern const BulletStepFunc bullet_b336a90455c11167059f131bf0d47d6c_da3c2a55b270cbe61ada2649019872a0[]; +const unsigned int bullet_b336a90455c11167059f131bf0d47d6c_da3c2a55b270cbe61ada2649019872a0_size = 2162; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss6.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss6.cpp new file mode 100644 index 0000000..21e99a1 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss6.cpp @@ -0,0 +1,304 @@ +extern const BulletStepFunc bullet_80777900aecda62db38f30ea0d3dd424_b96cacf384b7371a18153dbb611dbf2f[] = { +stepfunc_828aad5c654f274364631801f59cac21_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f, +stepfunc_fddccad3a4269a6062fda865a05f419c_b96cacf384b7371a18153dbb611dbf2f, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss6.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss6.hpp new file mode 100644 index 0000000..6d6e201 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss6.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_a4212426e09163426c813cbc2dfeb844_HPP +#define GENERATED_a4212426e09163426c813cbc2dfeb844_HPP + +#include "bullet.hpp" + +void stepfunc_828aad5c654f274364631801f59cac21_b96cacf384b7371a18153dbb611dbf2f(BulletInfo *p); +void stepfunc_f8401db310e724958a9f137cd0d4f8f8_b96cacf384b7371a18153dbb611dbf2f(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_b96cacf384b7371a18153dbb611dbf2f(BulletInfo *p); + + +extern const BulletStepFunc bullet_80777900aecda62db38f30ea0d3dd424_b96cacf384b7371a18153dbb611dbf2f[]; +const unsigned int bullet_80777900aecda62db38f30ea0d3dd424_b96cacf384b7371a18153dbb611dbf2f_size = 303; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss7.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss7.cpp new file mode 100644 index 0000000..80c01b2 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss7.cpp @@ -0,0 +1,452 @@ +extern const BulletStepFunc bullet_3f6978e2ab09066f36df0278f9e94488_1ca95cbf6fecc58fbb1e3f826fc3545b[] = { +stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_e9ec35a8b787bec56122ddc769b9f643_1ca95cbf6fecc58fbb1e3f826fc3545b, +NULL}; +extern const BulletStepFunc bullet_cfd4373f44311ddcc03443e372ceba9a_1ca95cbf6fecc58fbb1e3f826fc3545b[] = { +stepfunc_f5a5b174ac927df596a7415eb8e38ffc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_0e6b9221191b393a92fed534b357420d_1ca95cbf6fecc58fbb1e3f826fc3545b, +NULL}; +extern const BulletStepFunc bullet_766a2bc059007351f053124e797b1904_1ca95cbf6fecc58fbb1e3f826fc3545b[] = { +stepfunc_fc051a4b3f431d7c2e880492117c692f_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_1ca95cbf6fecc58fbb1e3f826fc3545b, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss7.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss7.hpp new file mode 100644 index 0000000..31e8fff --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss7.hpp @@ -0,0 +1,26 @@ +#ifndef GENERATED_8b95cdb8a2e29d2ecd55c5810482607f_HPP +#define GENERATED_8b95cdb8a2e29d2ecd55c5810482607f_HPP + +#include "bullet.hpp" + +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_0e6b9221191b393a92fed534b357420d_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_fc051a4b3f431d7c2e880492117c692f_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_c25e88db37b3816892c630825af4e23a_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_2fe13616759d4330d4301736a094ca3d_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_c172a15bb6eca889f748350b364028cc_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_1ca95cbf6fecc58fbb1e3f826fc3545b(BulletInfo *p); + + +extern const BulletStepFunc bullet_3f6978e2ab09066f36df0278f9e94488_1ca95cbf6fecc58fbb1e3f826fc3545b[]; +const unsigned int bullet_3f6978e2ab09066f36df0278f9e94488_1ca95cbf6fecc58fbb1e3f826fc3545b_size = 3; +extern const BulletStepFunc bullet_cfd4373f44311ddcc03443e372ceba9a_1ca95cbf6fecc58fbb1e3f826fc3545b[]; +const unsigned int bullet_cfd4373f44311ddcc03443e372ceba9a_1ca95cbf6fecc58fbb1e3f826fc3545b_size = 3; +extern const BulletStepFunc bullet_766a2bc059007351f053124e797b1904_1ca95cbf6fecc58fbb1e3f826fc3545b[]; +const unsigned int bullet_766a2bc059007351f053124e797b1904_1ca95cbf6fecc58fbb1e3f826fc3545b_size = 443; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss8-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss8-left.cpp new file mode 100644 index 0000000..e8f922d --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss8-left.cpp @@ -0,0 +1,1225 @@ +extern const BulletStepFunc bullet_641f89460c5218c50cafc548924a14c1_9d6b1ba2c20c012b7d7b7fad6fdc0ee3[] = { +stepfunc_a82599f300e4b150f54085b7056bd26d_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_c2db9f05d4f182941e7e9906f14f63c0_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_9d6b1ba2c20c012b7d7b7fad6fdc0ee3, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss8-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss8-left.hpp new file mode 100644 index 0000000..0d39892 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss8-left.hpp @@ -0,0 +1,18 @@ +#ifndef GENERATED_05ef5302a82b6dbfde25d01c95536abb_HPP +#define GENERATED_05ef5302a82b6dbfde25d01c95536abb_HPP + +#include "bullet.hpp" + +void stepfunc_a82599f300e4b150f54085b7056bd26d_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p); +void stepfunc_c2db9f05d4f182941e7e9906f14f63c0_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p); +void stepfunc_d2b0356cea9b35dc55335e5a82562c63_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p); +void stepfunc_36e99d3eda8811b6d30135b572535e6b_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_9d6b1ba2c20c012b7d7b7fad6fdc0ee3(BulletInfo *p); + + +extern const BulletStepFunc bullet_641f89460c5218c50cafc548924a14c1_9d6b1ba2c20c012b7d7b7fad6fdc0ee3[]; +const unsigned int bullet_641f89460c5218c50cafc548924a14c1_9d6b1ba2c20c012b7d7b7fad6fdc0ee3_size = 1224; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss8-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss8-right.cpp new file mode 100644 index 0000000..f7006ca --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss8-right.cpp @@ -0,0 +1,1225 @@ +extern const BulletStepFunc bullet_9d9f287906e0540e2a8dc3a6d1211be4_d2333f29a4c9742a90a78c7706523640[] = { +stepfunc_a82599f300e4b150f54085b7056bd26d_d2333f29a4c9742a90a78c7706523640, +stepfunc_c2db9f05d4f182941e7e9906f14f63c0_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_d2333f29a4c9742a90a78c7706523640, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss8-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss8-right.hpp new file mode 100644 index 0000000..e34fc9d --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss8-right.hpp @@ -0,0 +1,18 @@ +#ifndef GENERATED_997444223ccd5d9f0291ad80bf905371_HPP +#define GENERATED_997444223ccd5d9f0291ad80bf905371_HPP + +#include "bullet.hpp" + +void stepfunc_a82599f300e4b150f54085b7056bd26d_d2333f29a4c9742a90a78c7706523640(BulletInfo *p); +void stepfunc_c2db9f05d4f182941e7e9906f14f63c0_d2333f29a4c9742a90a78c7706523640(BulletInfo *p); +void stepfunc_d2b0356cea9b35dc55335e5a82562c63_d2333f29a4c9742a90a78c7706523640(BulletInfo *p); +void stepfunc_be4e8fee0f10cc7b24954694f2d8a550_d2333f29a4c9742a90a78c7706523640(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_d2333f29a4c9742a90a78c7706523640(BulletInfo *p); + + +extern const BulletStepFunc bullet_9d9f287906e0540e2a8dc3a6d1211be4_d2333f29a4c9742a90a78c7706523640[]; +const unsigned int bullet_9d9f287906e0540e2a8dc3a6d1211be4_d2333f29a4c9742a90a78c7706523640_size = 1224; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss9.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss9.cpp new file mode 100644 index 0000000..a222163 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss9.cpp @@ -0,0 +1,642 @@ +extern const BulletStepFunc bullet_5f2bd36a072e36671de264875cf5d5d2_34ea1a195216339fa1c1aeb217396b04[] = { +stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e9ec35a8b787bec56122ddc769b9f643_34ea1a195216339fa1c1aeb217396b04, +NULL}; +extern const BulletStepFunc bullet_234e4d5975669afdde8f5356cd7ca7fc_34ea1a195216339fa1c1aeb217396b04[] = { +stepfunc_f5a5b174ac927df596a7415eb8e38ffc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_0e6b9221191b393a92fed534b357420d_34ea1a195216339fa1c1aeb217396b04, +NULL}; +extern const BulletStepFunc bullet_943fea1dfc1e15b65ef4a9d5545c9272_34ea1a195216339fa1c1aeb217396b04[] = { +stepfunc_9cb568481acabe3ca9dd128ec7578254_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04, +stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04, +stepfunc_fddccad3a4269a6062fda865a05f419c_34ea1a195216339fa1c1aeb217396b04, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss9.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss9.hpp new file mode 100644 index 0000000..3c5bf14 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_boss9.hpp @@ -0,0 +1,25 @@ +#ifndef GENERATED_b091b4e525f0218f41d010eb09448db0_HPP +#define GENERATED_b091b4e525f0218f41d010eb09448db0_HPP + +#include "bullet.hpp" + +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_0e6b9221191b393a92fed534b357420d_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_9cb568481acabe3ca9dd128ec7578254_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_e49c078b4460f256ea042c32a4a4eb29_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_c172a15bb6eca889f748350b364028cc_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_34ea1a195216339fa1c1aeb217396b04(BulletInfo *p); + + +extern const BulletStepFunc bullet_5f2bd36a072e36671de264875cf5d5d2_34ea1a195216339fa1c1aeb217396b04[]; +const unsigned int bullet_5f2bd36a072e36671de264875cf5d5d2_34ea1a195216339fa1c1aeb217396b04_size = 3; +extern const BulletStepFunc bullet_234e4d5975669afdde8f5356cd7ca7fc_34ea1a195216339fa1c1aeb217396b04[]; +const unsigned int bullet_234e4d5975669afdde8f5356cd7ca7fc_34ea1a195216339fa1c1aeb217396b04_size = 3; +extern const BulletStepFunc bullet_943fea1dfc1e15b65ef4a9d5545c9272_34ea1a195216339fa1c1aeb217396b04[]; +const unsigned int bullet_943fea1dfc1e15b65ef4a9d5545c9272_34ea1a195216339fa1c1aeb217396b04_size = 633; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy0.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy0.cpp new file mode 100644 index 0000000..a0992e3 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy0.cpp @@ -0,0 +1,9 @@ +extern const BulletStepFunc bullet_c3e2819990d803b10757f5df356edcf5_2efa80d88730bc60d4dd12b0afe3afde[] = { +stepfunc_1c34f3a349a116f9c1a61f9c6aa70d1f_2efa80d88730bc60d4dd12b0afe3afde, +stepfunc_6ba9703189746a284b35c2be3b6f8005_2efa80d88730bc60d4dd12b0afe3afde, +stepfunc_6ba9703189746a284b35c2be3b6f8005_2efa80d88730bc60d4dd12b0afe3afde, +stepfunc_6ba9703189746a284b35c2be3b6f8005_2efa80d88730bc60d4dd12b0afe3afde, +stepfunc_6ba9703189746a284b35c2be3b6f8005_2efa80d88730bc60d4dd12b0afe3afde, +stepfunc_6ba9703189746a284b35c2be3b6f8005_2efa80d88730bc60d4dd12b0afe3afde, +stepfunc_8785d7fc4f68e1ab9eb27bb389443b4c_2efa80d88730bc60d4dd12b0afe3afde, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy0.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy0.hpp new file mode 100644 index 0000000..eff7520 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy0.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_f72257fc8418f1874bff37ef0aa948dc_HPP +#define GENERATED_f72257fc8418f1874bff37ef0aa948dc_HPP + +#include "bullet.hpp" + +void stepfunc_1c34f3a349a116f9c1a61f9c6aa70d1f_2efa80d88730bc60d4dd12b0afe3afde(BulletInfo *p); +void stepfunc_6ba9703189746a284b35c2be3b6f8005_2efa80d88730bc60d4dd12b0afe3afde(BulletInfo *p); +void stepfunc_8785d7fc4f68e1ab9eb27bb389443b4c_2efa80d88730bc60d4dd12b0afe3afde(BulletInfo *p); +void stepfunc_806a74f15dce97098f25ed860946a548_2efa80d88730bc60d4dd12b0afe3afde(BulletInfo *p); + + +extern const BulletStepFunc bullet_c3e2819990d803b10757f5df356edcf5_2efa80d88730bc60d4dd12b0afe3afde[]; +const unsigned int bullet_c3e2819990d803b10757f5df356edcf5_2efa80d88730bc60d4dd12b0afe3afde_size = 8; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy1-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy1-left.cpp new file mode 100644 index 0000000..4fc8377 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy1-left.cpp @@ -0,0 +1,24 @@ +extern const BulletStepFunc bullet_f970b22888fc597305e4f31cfbd56782_19e22a748dbd8fdfb82d14d4fef2c47c[] = { +stepfunc_cd9b613920aeeb3ee886cd56989c2608_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_19e22a748dbd8fdfb82d14d4fef2c47c, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy1-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy1-left.hpp new file mode 100644 index 0000000..065889b --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy1-left.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_c7df185752684f72b9c333632ba63cc1_HPP +#define GENERATED_c7df185752684f72b9c333632ba63cc1_HPP + +#include "bullet.hpp" + +void stepfunc_cd9b613920aeeb3ee886cd56989c2608_19e22a748dbd8fdfb82d14d4fef2c47c(BulletInfo *p); +void stepfunc_b911c30c1821ab62ff1e91c9e2a18e16_19e22a748dbd8fdfb82d14d4fef2c47c(BulletInfo *p); +void stepfunc_f8065ac21976556042f7f909fa003d88_19e22a748dbd8fdfb82d14d4fef2c47c(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_19e22a748dbd8fdfb82d14d4fef2c47c(BulletInfo *p); + + +extern const BulletStepFunc bullet_f970b22888fc597305e4f31cfbd56782_19e22a748dbd8fdfb82d14d4fef2c47c[]; +const unsigned int bullet_f970b22888fc597305e4f31cfbd56782_19e22a748dbd8fdfb82d14d4fef2c47c_size = 23; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy1-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy1-right.cpp new file mode 100644 index 0000000..f231bc6 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy1-right.cpp @@ -0,0 +1,24 @@ +extern const BulletStepFunc bullet_248386582a2570e9025f45307b0d5099_d04a564664a6c54b8eb787ed27fb12b0[] = { +stepfunc_3e03ce4b4b83dad477f349db9b3c57ad_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_d04a564664a6c54b8eb787ed27fb12b0, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy1-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy1-right.hpp new file mode 100644 index 0000000..938873a --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy1-right.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_9ce65891ac3b4b3085f9ffa554700143_HPP +#define GENERATED_9ce65891ac3b4b3085f9ffa554700143_HPP + +#include "bullet.hpp" + +void stepfunc_3e03ce4b4b83dad477f349db9b3c57ad_d04a564664a6c54b8eb787ed27fb12b0(BulletInfo *p); +void stepfunc_0b075a9fcd80156dfb487fc07d89f169_d04a564664a6c54b8eb787ed27fb12b0(BulletInfo *p); +void stepfunc_f8065ac21976556042f7f909fa003d88_d04a564664a6c54b8eb787ed27fb12b0(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_d04a564664a6c54b8eb787ed27fb12b0(BulletInfo *p); + + +extern const BulletStepFunc bullet_248386582a2570e9025f45307b0d5099_d04a564664a6c54b8eb787ed27fb12b0[]; +const unsigned int bullet_248386582a2570e9025f45307b0d5099_d04a564664a6c54b8eb787ed27fb12b0_size = 23; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy10.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy10.cpp new file mode 100644 index 0000000..694ff3b --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy10.cpp @@ -0,0 +1,14 @@ +extern const BulletStepFunc bullet_6f16f013dd5a1d9df1a8ec2e906a4918_12db626e647961ec34505eb6a92413f2[] = { +stepfunc_1c34f3a349a116f9c1a61f9c6aa70d1f_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_12db626e647961ec34505eb6a92413f2, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy10.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy10.hpp new file mode 100644 index 0000000..ca3e527 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy10.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_7674a4cc9bd3ca83cb4d6147940c0e3f_HPP +#define GENERATED_7674a4cc9bd3ca83cb4d6147940c0e3f_HPP + +#include "bullet.hpp" + +void stepfunc_1c34f3a349a116f9c1a61f9c6aa70d1f_12db626e647961ec34505eb6a92413f2(BulletInfo *p); +void stepfunc_69ac1643fc27b9dc6c77d31852cfdf82_12db626e647961ec34505eb6a92413f2(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_12db626e647961ec34505eb6a92413f2(BulletInfo *p); + + +extern const BulletStepFunc bullet_6f16f013dd5a1d9df1a8ec2e906a4918_12db626e647961ec34505eb6a92413f2[]; +const unsigned int bullet_6f16f013dd5a1d9df1a8ec2e906a4918_12db626e647961ec34505eb6a92413f2_size = 13; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy11-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy11-left.cpp new file mode 100644 index 0000000..4f0b57d --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy11-left.cpp @@ -0,0 +1,29 @@ +extern const BulletStepFunc bullet_38fb7229377211bd9b69d09d9e1f1080_aa380a2a544f70146f42c48fb87db420[] = { +stepfunc_8c21366c387d9e5541ff10214f08931f_aa380a2a544f70146f42c48fb87db420, +stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_aa380a2a544f70146f42c48fb87db420, +NULL}; +extern const BulletStepFunc bullet_5353406edd34ba07c8439a98f0fb7138_aa380a2a544f70146f42c48fb87db420[] = { +stepfunc_e80bdc5506bf95dd402a596f73c39164_aa380a2a544f70146f42c48fb87db420, +stepfunc_7c5d37dcc527e2e5a705532ae8a1012a_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420, +stepfunc_fddccad3a4269a6062fda865a05f419c_aa380a2a544f70146f42c48fb87db420, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy11-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy11-left.hpp new file mode 100644 index 0000000..30ce357 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy11-left.hpp @@ -0,0 +1,21 @@ +#ifndef GENERATED_4add13941be3ed70856125c0f0715e61_HPP +#define GENERATED_4add13941be3ed70856125c0f0715e61_HPP + +#include "bullet.hpp" + +void stepfunc_8c21366c387d9e5541ff10214f08931f_aa380a2a544f70146f42c48fb87db420(BulletInfo *p); +void stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_aa380a2a544f70146f42c48fb87db420(BulletInfo *p); +void stepfunc_e80bdc5506bf95dd402a596f73c39164_aa380a2a544f70146f42c48fb87db420(BulletInfo *p); +void stepfunc_7c5d37dcc527e2e5a705532ae8a1012a_aa380a2a544f70146f42c48fb87db420(BulletInfo *p); +void stepfunc_250012650ba3b31daf3fc0597b325104_aa380a2a544f70146f42c48fb87db420(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_aa380a2a544f70146f42c48fb87db420(BulletInfo *p); + + +extern const BulletStepFunc bullet_38fb7229377211bd9b69d09d9e1f1080_aa380a2a544f70146f42c48fb87db420[]; +const unsigned int bullet_38fb7229377211bd9b69d09d9e1f1080_aa380a2a544f70146f42c48fb87db420_size = 3; +extern const BulletStepFunc bullet_5353406edd34ba07c8439a98f0fb7138_aa380a2a544f70146f42c48fb87db420[]; +const unsigned int bullet_5353406edd34ba07c8439a98f0fb7138_aa380a2a544f70146f42c48fb87db420_size = 24; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy11-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy11-right.cpp new file mode 100644 index 0000000..c6484e2 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy11-right.cpp @@ -0,0 +1,29 @@ +extern const BulletStepFunc bullet_26f53c9f2427bac325ee36cb79cb32f6_65e68c740ee2a220ba8c5031c4b6d1b3[] = { +stepfunc_8c21366c387d9e5541ff10214f08931f_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_65e68c740ee2a220ba8c5031c4b6d1b3, +NULL}; +extern const BulletStepFunc bullet_a3fa37377dc8a6dc07d59744827f3bb5_65e68c740ee2a220ba8c5031c4b6d1b3[] = { +stepfunc_62bf6c87a01c17857bce3310e4499e81_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_7c5d37dcc527e2e5a705532ae8a1012a_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3, +stepfunc_fddccad3a4269a6062fda865a05f419c_65e68c740ee2a220ba8c5031c4b6d1b3, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy11-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy11-right.hpp new file mode 100644 index 0000000..1547f3a --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy11-right.hpp @@ -0,0 +1,21 @@ +#ifndef GENERATED_d1fcfbb6069686306efc9d73be9327bf_HPP +#define GENERATED_d1fcfbb6069686306efc9d73be9327bf_HPP + +#include "bullet.hpp" + +void stepfunc_8c21366c387d9e5541ff10214f08931f_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p); +void stepfunc_0fdd59aa50ca3c3515c1b7e88bbab930_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p); +void stepfunc_62bf6c87a01c17857bce3310e4499e81_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p); +void stepfunc_7c5d37dcc527e2e5a705532ae8a1012a_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p); +void stepfunc_3c4bb6e76b4f504b370a1b4f01720982_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_65e68c740ee2a220ba8c5031c4b6d1b3(BulletInfo *p); + + +extern const BulletStepFunc bullet_26f53c9f2427bac325ee36cb79cb32f6_65e68c740ee2a220ba8c5031c4b6d1b3[]; +const unsigned int bullet_26f53c9f2427bac325ee36cb79cb32f6_65e68c740ee2a220ba8c5031c4b6d1b3_size = 3; +extern const BulletStepFunc bullet_a3fa37377dc8a6dc07d59744827f3bb5_65e68c740ee2a220ba8c5031c4b6d1b3[]; +const unsigned int bullet_a3fa37377dc8a6dc07d59744827f3bb5_65e68c740ee2a220ba8c5031c4b6d1b3_size = 24; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy12.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy12.cpp new file mode 100644 index 0000000..5dcd53d --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy12.cpp @@ -0,0 +1,3 @@ +extern const BulletStepFunc bullet_ad17e24e2aa20f678a19b17be5213ea0_fd52ad7c32cd66562d39fa277c4b3797[] = { +stepfunc_d5b50929d4498db95fe3b57b9c6c8094_fd52ad7c32cd66562d39fa277c4b3797, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy12.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy12.hpp new file mode 100644 index 0000000..f2015f5 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy12.hpp @@ -0,0 +1,15 @@ +#ifndef GENERATED_52b5fd9cebd5643b97a2ce1a2b00ea0c_HPP +#define GENERATED_52b5fd9cebd5643b97a2ce1a2b00ea0c_HPP + +#include "bullet.hpp" + +void stepfunc_d5b50929d4498db95fe3b57b9c6c8094_fd52ad7c32cd66562d39fa277c4b3797(BulletInfo *p); +void stepfunc_e1cb05365e955e6c9fc4a42f10774254_fd52ad7c32cd66562d39fa277c4b3797(BulletInfo *p); + + +extern const BulletStepFunc bullet_ad17e24e2aa20f678a19b17be5213ea0_fd52ad7c32cd66562d39fa277c4b3797[]; +const unsigned int bullet_ad17e24e2aa20f678a19b17be5213ea0_fd52ad7c32cd66562d39fa277c4b3797_size = 2; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy13-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy13-left.cpp new file mode 100644 index 0000000..c5fa378 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy13-left.cpp @@ -0,0 +1,55 @@ +extern const BulletStepFunc bullet_104eeeaa56e2bf430117bef58ddc7a9d_fef1923156fe801e24fe2bce452dbdec[] = { +stepfunc_b5ccdb55b1c6958c7330d2c4b2466f1c_fef1923156fe801e24fe2bce452dbdec, +stepfunc_8c4041f942f600e94991c394939a804c_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec, +stepfunc_fddccad3a4269a6062fda865a05f419c_fef1923156fe801e24fe2bce452dbdec, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy13-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy13-left.hpp new file mode 100644 index 0000000..943ecd2 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy13-left.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_4ed121daca8139a36285f874c046dd17_HPP +#define GENERATED_4ed121daca8139a36285f874c046dd17_HPP + +#include "bullet.hpp" + +void stepfunc_b5ccdb55b1c6958c7330d2c4b2466f1c_fef1923156fe801e24fe2bce452dbdec(BulletInfo *p); +void stepfunc_8c4041f942f600e94991c394939a804c_fef1923156fe801e24fe2bce452dbdec(BulletInfo *p); +void stepfunc_a867206a5bde2a9109dacde62b183d10_fef1923156fe801e24fe2bce452dbdec(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_fef1923156fe801e24fe2bce452dbdec(BulletInfo *p); + + +extern const BulletStepFunc bullet_104eeeaa56e2bf430117bef58ddc7a9d_fef1923156fe801e24fe2bce452dbdec[]; +const unsigned int bullet_104eeeaa56e2bf430117bef58ddc7a9d_fef1923156fe801e24fe2bce452dbdec_size = 54; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy13-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy13-right.cpp new file mode 100644 index 0000000..cafd60b --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy13-right.cpp @@ -0,0 +1,55 @@ +extern const BulletStepFunc bullet_32454d22b7489d48267f520406715b9a_fedd858a2a4d5e35be3ee22ffc073e03[] = { +stepfunc_b5ccdb55b1c6958c7330d2c4b2466f1c_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_278b619bac05feae137452d0b23ccc87_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03, +stepfunc_fddccad3a4269a6062fda865a05f419c_fedd858a2a4d5e35be3ee22ffc073e03, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy13-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy13-right.hpp new file mode 100644 index 0000000..72eb1ab --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy13-right.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_9855369fa24ce4b24274ebdf4213d716_HPP +#define GENERATED_9855369fa24ce4b24274ebdf4213d716_HPP + +#include "bullet.hpp" + +void stepfunc_b5ccdb55b1c6958c7330d2c4b2466f1c_fedd858a2a4d5e35be3ee22ffc073e03(BulletInfo *p); +void stepfunc_278b619bac05feae137452d0b23ccc87_fedd858a2a4d5e35be3ee22ffc073e03(BulletInfo *p); +void stepfunc_a867206a5bde2a9109dacde62b183d10_fedd858a2a4d5e35be3ee22ffc073e03(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_fedd858a2a4d5e35be3ee22ffc073e03(BulletInfo *p); + + +extern const BulletStepFunc bullet_32454d22b7489d48267f520406715b9a_fedd858a2a4d5e35be3ee22ffc073e03[]; +const unsigned int bullet_32454d22b7489d48267f520406715b9a_fedd858a2a4d5e35be3ee22ffc073e03_size = 54; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy14-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy14-left.cpp new file mode 100644 index 0000000..83ea3e5 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy14-left.cpp @@ -0,0 +1,103 @@ +extern const BulletStepFunc bullet_47c67eb6c29816a4036c5d8c6c6884ec_394cea4d77e9d333c235108b5dbc5c88[] = { +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_394cea4d77e9d333c235108b5dbc5c88, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy14-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy14-left.hpp new file mode 100644 index 0000000..fb8ea78 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy14-left.hpp @@ -0,0 +1,15 @@ +#ifndef GENERATED_eb1392a78c28bb3b8696f9d3cec50823_HPP +#define GENERATED_eb1392a78c28bb3b8696f9d3cec50823_HPP + +#include "bullet.hpp" + +void stepfunc_0e7e891abd29f1eaf35bdcb6417b2a86_394cea4d77e9d333c235108b5dbc5c88(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_394cea4d77e9d333c235108b5dbc5c88(BulletInfo *p); + + +extern const BulletStepFunc bullet_47c67eb6c29816a4036c5d8c6c6884ec_394cea4d77e9d333c235108b5dbc5c88[]; +const unsigned int bullet_47c67eb6c29816a4036c5d8c6c6884ec_394cea4d77e9d333c235108b5dbc5c88_size = 102; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy14-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy14-right.cpp new file mode 100644 index 0000000..6f7ff09 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy14-right.cpp @@ -0,0 +1,103 @@ +extern const BulletStepFunc bullet_5d09d53130e02d1824ef11f985d532d2_d5b50d066fb77c09379b2ecff4c01376[] = { +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_d5b50d066fb77c09379b2ecff4c01376, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy14-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy14-right.hpp new file mode 100644 index 0000000..60c1407 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy14-right.hpp @@ -0,0 +1,15 @@ +#ifndef GENERATED_359058423136dacc908ed9892b9a4d69_HPP +#define GENERATED_359058423136dacc908ed9892b9a4d69_HPP + +#include "bullet.hpp" + +void stepfunc_9ccb48cbc8f3511cfff65c38a7359ab8_d5b50d066fb77c09379b2ecff4c01376(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_d5b50d066fb77c09379b2ecff4c01376(BulletInfo *p); + + +extern const BulletStepFunc bullet_5d09d53130e02d1824ef11f985d532d2_d5b50d066fb77c09379b2ecff4c01376[]; +const unsigned int bullet_5d09d53130e02d1824ef11f985d532d2_d5b50d066fb77c09379b2ecff4c01376_size = 102; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy15-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy15-left.cpp new file mode 100644 index 0000000..eccabf1 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy15-left.cpp @@ -0,0 +1,64 @@ +extern const BulletStepFunc bullet_8142b7ea14e8d500940695bd4dbc8958_8f6ee947ca2e017e9dee903bc37f6f73[] = { +stepfunc_bed8dda85fc60ff8f3f2ddb90c504bf2_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_8f6ee947ca2e017e9dee903bc37f6f73, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy15-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy15-left.hpp new file mode 100644 index 0000000..8cb42b2 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy15-left.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_48c32fac5cf257f6aa4f4d552cac8a6f_HPP +#define GENERATED_48c32fac5cf257f6aa4f4d552cac8a6f_HPP + +#include "bullet.hpp" + +void stepfunc_bed8dda85fc60ff8f3f2ddb90c504bf2_8f6ee947ca2e017e9dee903bc37f6f73(BulletInfo *p); +void stepfunc_080b1eb42fb42892af9d6ff05dd94667_8f6ee947ca2e017e9dee903bc37f6f73(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_8f6ee947ca2e017e9dee903bc37f6f73(BulletInfo *p); + + +extern const BulletStepFunc bullet_8142b7ea14e8d500940695bd4dbc8958_8f6ee947ca2e017e9dee903bc37f6f73[]; +const unsigned int bullet_8142b7ea14e8d500940695bd4dbc8958_8f6ee947ca2e017e9dee903bc37f6f73_size = 63; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy15-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy15-right.cpp new file mode 100644 index 0000000..5cd5092 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy15-right.cpp @@ -0,0 +1,64 @@ +extern const BulletStepFunc bullet_928102754cc08638c5a2b32559877673_f62ae716ff689b0db49490423ea6e1db[] = { +stepfunc_bed8dda85fc60ff8f3f2ddb90c504bf2_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_f62ae716ff689b0db49490423ea6e1db, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy15-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy15-right.hpp new file mode 100644 index 0000000..4c64873 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy15-right.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_6228c3cc54b0b4807cfe6774d8115d02_HPP +#define GENERATED_6228c3cc54b0b4807cfe6774d8115d02_HPP + +#include "bullet.hpp" + +void stepfunc_bed8dda85fc60ff8f3f2ddb90c504bf2_f62ae716ff689b0db49490423ea6e1db(BulletInfo *p); +void stepfunc_0a6845cafd76c4a05ea987f76f120ed0_f62ae716ff689b0db49490423ea6e1db(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_f62ae716ff689b0db49490423ea6e1db(BulletInfo *p); + + +extern const BulletStepFunc bullet_928102754cc08638c5a2b32559877673_f62ae716ff689b0db49490423ea6e1db[]; +const unsigned int bullet_928102754cc08638c5a2b32559877673_f62ae716ff689b0db49490423ea6e1db_size = 63; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy16.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy16.cpp new file mode 100644 index 0000000..396b88a --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy16.cpp @@ -0,0 +1,183 @@ +extern const BulletStepFunc bullet_90e939b3099608d9d6ebc1afc1433f9d_bf44993c7032c5f5ff2e199bd34b2b7d[] = { +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_bf44993c7032c5f5ff2e199bd34b2b7d, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy16.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy16.hpp new file mode 100644 index 0000000..013e002 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy16.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_9566c519f6f8cca1897bf9c0281f02da_HPP +#define GENERATED_9566c519f6f8cca1897bf9c0281f02da_HPP + +#include "bullet.hpp" + +void stepfunc_5be356397050fde50e423d9667caebff_bf44993c7032c5f5ff2e199bd34b2b7d(BulletInfo *p); +void stepfunc_b7f0a0889c4a03a5c03cda747ceb1d0b_bf44993c7032c5f5ff2e199bd34b2b7d(BulletInfo *p); +void stepfunc_7ffb126280b2d740656c663410523add_bf44993c7032c5f5ff2e199bd34b2b7d(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_bf44993c7032c5f5ff2e199bd34b2b7d(BulletInfo *p); + + +extern const BulletStepFunc bullet_90e939b3099608d9d6ebc1afc1433f9d_bf44993c7032c5f5ff2e199bd34b2b7d[]; +const unsigned int bullet_90e939b3099608d9d6ebc1afc1433f9d_bf44993c7032c5f5ff2e199bd34b2b7d_size = 182; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy17.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy17.cpp new file mode 100644 index 0000000..629916e --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy17.cpp @@ -0,0 +1,124 @@ +extern const BulletStepFunc bullet_7a1d7b337153505f76f35f00d80246d7_d616ce17dab7949731bdeb5fbace6e10[] = { +stepfunc_5cff29a177a82894839220d02250a162_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_d616ce17dab7949731bdeb5fbace6e10, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy17.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy17.hpp new file mode 100644 index 0000000..484b013 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy17.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_ae0683fac2183a7b7a1e8569f3f68d47_HPP +#define GENERATED_ae0683fac2183a7b7a1e8569f3f68d47_HPP + +#include "bullet.hpp" + +void stepfunc_5cff29a177a82894839220d02250a162_d616ce17dab7949731bdeb5fbace6e10(BulletInfo *p); +void stepfunc_ba4aa78feaca207e6c945ac4bd03b26d_d616ce17dab7949731bdeb5fbace6e10(BulletInfo *p); +void stepfunc_1fe3c01317945188c6d8ecb05322161b_d616ce17dab7949731bdeb5fbace6e10(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_d616ce17dab7949731bdeb5fbace6e10(BulletInfo *p); + + +extern const BulletStepFunc bullet_7a1d7b337153505f76f35f00d80246d7_d616ce17dab7949731bdeb5fbace6e10[]; +const unsigned int bullet_7a1d7b337153505f76f35f00d80246d7_d616ce17dab7949731bdeb5fbace6e10_size = 123; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy18-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy18-left.cpp new file mode 100644 index 0000000..8be2a17 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy18-left.cpp @@ -0,0 +1,65 @@ +extern const BulletStepFunc bullet_47361c68a13624703595a204db243d6b_9a82ad8bbb831832e2c899e19daaa0d5[] = { +stepfunc_456753c9ab23d0c18884db48a58a16e6_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_30a5b118867561f3ad2802c148f182e3_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_9a82ad8bbb831832e2c899e19daaa0d5, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy18-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy18-left.hpp new file mode 100644 index 0000000..3ebe1bc --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy18-left.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_d67fa95c55c86f774b8a0c9940b15f13_HPP +#define GENERATED_d67fa95c55c86f774b8a0c9940b15f13_HPP + +#include "bullet.hpp" + +void stepfunc_456753c9ab23d0c18884db48a58a16e6_9a82ad8bbb831832e2c899e19daaa0d5(BulletInfo *p); +void stepfunc_30a5b118867561f3ad2802c148f182e3_9a82ad8bbb831832e2c899e19daaa0d5(BulletInfo *p); +void stepfunc_95f0e8f6018ee98f0e5e2282a88f0e9f_9a82ad8bbb831832e2c899e19daaa0d5(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_9a82ad8bbb831832e2c899e19daaa0d5(BulletInfo *p); + + +extern const BulletStepFunc bullet_47361c68a13624703595a204db243d6b_9a82ad8bbb831832e2c899e19daaa0d5[]; +const unsigned int bullet_47361c68a13624703595a204db243d6b_9a82ad8bbb831832e2c899e19daaa0d5_size = 64; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy18-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy18-right.cpp new file mode 100644 index 0000000..285e7af --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy18-right.cpp @@ -0,0 +1,65 @@ +extern const BulletStepFunc bullet_66a2f95601e784c18e0dab7a14ea58ac_237614aaec8157c2c678e39a91b6f99b[] = { +stepfunc_456753c9ab23d0c18884db48a58a16e6_237614aaec8157c2c678e39a91b6f99b, +stepfunc_30a5b118867561f3ad2802c148f182e3_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_237614aaec8157c2c678e39a91b6f99b, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy18-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy18-right.hpp new file mode 100644 index 0000000..ac550c7 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy18-right.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_e87b3af185fbeb6bd3b4164f551ab9a2_HPP +#define GENERATED_e87b3af185fbeb6bd3b4164f551ab9a2_HPP + +#include "bullet.hpp" + +void stepfunc_456753c9ab23d0c18884db48a58a16e6_237614aaec8157c2c678e39a91b6f99b(BulletInfo *p); +void stepfunc_30a5b118867561f3ad2802c148f182e3_237614aaec8157c2c678e39a91b6f99b(BulletInfo *p); +void stepfunc_fc499abee849ad3ec48ab61df1d3ae95_237614aaec8157c2c678e39a91b6f99b(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_237614aaec8157c2c678e39a91b6f99b(BulletInfo *p); + + +extern const BulletStepFunc bullet_66a2f95601e784c18e0dab7a14ea58ac_237614aaec8157c2c678e39a91b6f99b[]; +const unsigned int bullet_66a2f95601e784c18e0dab7a14ea58ac_237614aaec8157c2c678e39a91b6f99b_size = 64; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy19-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy19-left.cpp new file mode 100644 index 0000000..957e497 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy19-left.cpp @@ -0,0 +1,304 @@ +extern const BulletStepFunc bullet_ac7bb767b751e789736ad9222d6197c8_725cf8416eb13190489c86a3a093aae1[] = { +stepfunc_f9e9b65e67c0cff38a77ad9208706601_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1, +stepfunc_fddccad3a4269a6062fda865a05f419c_725cf8416eb13190489c86a3a093aae1, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy19-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy19-left.hpp new file mode 100644 index 0000000..8af6ba3 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy19-left.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_0136208fc6eddf99418fa1eea2c760de_HPP +#define GENERATED_0136208fc6eddf99418fa1eea2c760de_HPP + +#include "bullet.hpp" + +void stepfunc_f9e9b65e67c0cff38a77ad9208706601_725cf8416eb13190489c86a3a093aae1(BulletInfo *p); +void stepfunc_1c2f36b0f1cb222136412eec6bf95e4b_725cf8416eb13190489c86a3a093aae1(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_725cf8416eb13190489c86a3a093aae1(BulletInfo *p); + + +extern const BulletStepFunc bullet_ac7bb767b751e789736ad9222d6197c8_725cf8416eb13190489c86a3a093aae1[]; +const unsigned int bullet_ac7bb767b751e789736ad9222d6197c8_725cf8416eb13190489c86a3a093aae1_size = 303; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy19-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy19-right.cpp new file mode 100644 index 0000000..17dafb4 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy19-right.cpp @@ -0,0 +1,304 @@ +extern const BulletStepFunc bullet_a12c906962df10f2fff3b9d43962a732_857ffb30df4ae1219f2f94987d8254da[] = { +stepfunc_9feee3686dcc5c059cca60a536f73d06_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da, +stepfunc_fddccad3a4269a6062fda865a05f419c_857ffb30df4ae1219f2f94987d8254da, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy19-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy19-right.hpp new file mode 100644 index 0000000..dccd722 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy19-right.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_c55bf0dbe0caf9e2425636a62384014c_HPP +#define GENERATED_c55bf0dbe0caf9e2425636a62384014c_HPP + +#include "bullet.hpp" + +void stepfunc_9feee3686dcc5c059cca60a536f73d06_857ffb30df4ae1219f2f94987d8254da(BulletInfo *p); +void stepfunc_d84b07229ec55c3a27aa155672956fb2_857ffb30df4ae1219f2f94987d8254da(BulletInfo *p); +void stepfunc_fddccad3a4269a6062fda865a05f419c_857ffb30df4ae1219f2f94987d8254da(BulletInfo *p); + + +extern const BulletStepFunc bullet_a12c906962df10f2fff3b9d43962a732_857ffb30df4ae1219f2f94987d8254da[]; +const unsigned int bullet_a12c906962df10f2fff3b9d43962a732_857ffb30df4ae1219f2f94987d8254da_size = 303; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy2.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy2.cpp new file mode 100644 index 0000000..b1c6da9 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy2.cpp @@ -0,0 +1,9 @@ +extern const BulletStepFunc bullet_ef36170a79bca743cc5db5ca94a5b6ba_1dce9b78d98783de77dd9c4da10bc546[] = { +stepfunc_b54b223c2d4a5cf729728840692a92be_1dce9b78d98783de77dd9c4da10bc546, +stepfunc_83ff01d7f4a03a80839ba4fdced68045_1dce9b78d98783de77dd9c4da10bc546, +stepfunc_83ff01d7f4a03a80839ba4fdced68045_1dce9b78d98783de77dd9c4da10bc546, +stepfunc_83ff01d7f4a03a80839ba4fdced68045_1dce9b78d98783de77dd9c4da10bc546, +stepfunc_83ff01d7f4a03a80839ba4fdced68045_1dce9b78d98783de77dd9c4da10bc546, +stepfunc_83ff01d7f4a03a80839ba4fdced68045_1dce9b78d98783de77dd9c4da10bc546, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_1dce9b78d98783de77dd9c4da10bc546, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy2.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy2.hpp new file mode 100644 index 0000000..49a96ba --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy2.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_75f068e21d6a896fb0567485d21ba3ca_HPP +#define GENERATED_75f068e21d6a896fb0567485d21ba3ca_HPP + +#include "bullet.hpp" + +void stepfunc_b54b223c2d4a5cf729728840692a92be_1dce9b78d98783de77dd9c4da10bc546(BulletInfo *p); +void stepfunc_83ff01d7f4a03a80839ba4fdced68045_1dce9b78d98783de77dd9c4da10bc546(BulletInfo *p); +void stepfunc_372f7bba3c1db34154d2b39e0144c266_1dce9b78d98783de77dd9c4da10bc546(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_1dce9b78d98783de77dd9c4da10bc546(BulletInfo *p); + + +extern const BulletStepFunc bullet_ef36170a79bca743cc5db5ca94a5b6ba_1dce9b78d98783de77dd9c4da10bc546[]; +const unsigned int bullet_ef36170a79bca743cc5db5ca94a5b6ba_1dce9b78d98783de77dd9c4da10bc546_size = 8; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy20-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy20-left.cpp new file mode 100644 index 0000000..43f474c --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy20-left.cpp @@ -0,0 +1,113 @@ +extern const BulletStepFunc bullet_f62ccc5e7dd80cc45e8c716f3ff777dd_45873150e5988b429bcb0292a3ef221c[] = { +stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_45873150e5988b429bcb0292a3ef221c, +stepfunc_e9ec35a8b787bec56122ddc769b9f643_45873150e5988b429bcb0292a3ef221c, +NULL}; +extern const BulletStepFunc bullet_0cbe073c92094f2cd31b213454d9ec5f_45873150e5988b429bcb0292a3ef221c[] = { +stepfunc_f5a5b174ac927df596a7415eb8e38ffc_45873150e5988b429bcb0292a3ef221c, +stepfunc_0e6b9221191b393a92fed534b357420d_45873150e5988b429bcb0292a3ef221c, +NULL}; +extern const BulletStepFunc bullet_04544a8133115338033ab09567a1da45_45873150e5988b429bcb0292a3ef221c[] = { +stepfunc_f6acfffffca822d03ca99c2ba84f212b_45873150e5988b429bcb0292a3ef221c, +stepfunc_548dbbbf4a2af73e33d1418e8198842f_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_45873150e5988b429bcb0292a3ef221c, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy20-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy20-left.hpp new file mode 100644 index 0000000..54a85c8 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy20-left.hpp @@ -0,0 +1,25 @@ +#ifndef GENERATED_9cbb57951de2c7c4730891b3788fb250_HPP +#define GENERATED_9cbb57951de2c7c4730891b3788fb250_HPP + +#include "bullet.hpp" + +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_0e6b9221191b393a92fed534b357420d_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_f6acfffffca822d03ca99c2ba84f212b_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_548dbbbf4a2af73e33d1418e8198842f_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_c77520a903c57d5507fce2c6ff72c9eb_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_45873150e5988b429bcb0292a3ef221c(BulletInfo *p); + + +extern const BulletStepFunc bullet_f62ccc5e7dd80cc45e8c716f3ff777dd_45873150e5988b429bcb0292a3ef221c[]; +const unsigned int bullet_f62ccc5e7dd80cc45e8c716f3ff777dd_45873150e5988b429bcb0292a3ef221c_size = 3; +extern const BulletStepFunc bullet_0cbe073c92094f2cd31b213454d9ec5f_45873150e5988b429bcb0292a3ef221c[]; +const unsigned int bullet_0cbe073c92094f2cd31b213454d9ec5f_45873150e5988b429bcb0292a3ef221c_size = 3; +extern const BulletStepFunc bullet_04544a8133115338033ab09567a1da45_45873150e5988b429bcb0292a3ef221c[]; +const unsigned int bullet_04544a8133115338033ab09567a1da45_45873150e5988b429bcb0292a3ef221c_size = 104; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy20-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy20-right.cpp new file mode 100644 index 0000000..60fbbb5 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy20-right.cpp @@ -0,0 +1,113 @@ +extern const BulletStepFunc bullet_f76dc3908bf227e63baf566a4b321a32_9e086ca75252f14be2079197f41e0a5f[] = { +stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_9e086ca75252f14be2079197f41e0a5f, +stepfunc_e9ec35a8b787bec56122ddc769b9f643_9e086ca75252f14be2079197f41e0a5f, +NULL}; +extern const BulletStepFunc bullet_fc90e3b1adbb60df2e62a7de988ab6e7_9e086ca75252f14be2079197f41e0a5f[] = { +stepfunc_f5a5b174ac927df596a7415eb8e38ffc_9e086ca75252f14be2079197f41e0a5f, +stepfunc_0e6b9221191b393a92fed534b357420d_9e086ca75252f14be2079197f41e0a5f, +NULL}; +extern const BulletStepFunc bullet_be54f017bf1283786172c2211956e5fb_9e086ca75252f14be2079197f41e0a5f[] = { +stepfunc_f6acfffffca822d03ca99c2ba84f212b_9e086ca75252f14be2079197f41e0a5f, +stepfunc_4fe964a87f9295526ea2bff094fd35fd_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_9e086ca75252f14be2079197f41e0a5f, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy20-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy20-right.hpp new file mode 100644 index 0000000..ef6bb8c --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy20-right.hpp @@ -0,0 +1,25 @@ +#ifndef GENERATED_f482b72978369c504d04b4d626083429_HPP +#define GENERATED_f482b72978369c504d04b4d626083429_HPP + +#include "bullet.hpp" + +void stepfunc_d7c8bb6a8b5bb323a9d36e1b238818f3_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_e9ec35a8b787bec56122ddc769b9f643_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_f5a5b174ac927df596a7415eb8e38ffc_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_0e6b9221191b393a92fed534b357420d_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_f6acfffffca822d03ca99c2ba84f212b_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_4fe964a87f9295526ea2bff094fd35fd_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_b1c4ad01771399852125fe53e3a81d81_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_9e086ca75252f14be2079197f41e0a5f(BulletInfo *p); + + +extern const BulletStepFunc bullet_f76dc3908bf227e63baf566a4b321a32_9e086ca75252f14be2079197f41e0a5f[]; +const unsigned int bullet_f76dc3908bf227e63baf566a4b321a32_9e086ca75252f14be2079197f41e0a5f_size = 3; +extern const BulletStepFunc bullet_fc90e3b1adbb60df2e62a7de988ab6e7_9e086ca75252f14be2079197f41e0a5f[]; +const unsigned int bullet_fc90e3b1adbb60df2e62a7de988ab6e7_9e086ca75252f14be2079197f41e0a5f_size = 3; +extern const BulletStepFunc bullet_be54f017bf1283786172c2211956e5fb_9e086ca75252f14be2079197f41e0a5f[]; +const unsigned int bullet_be54f017bf1283786172c2211956e5fb_9e086ca75252f14be2079197f41e0a5f_size = 104; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy21.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy21.cpp new file mode 100644 index 0000000..45edacb --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy21.cpp @@ -0,0 +1,7 @@ +extern const BulletStepFunc bullet_bf01d1221ae9777d09c2f97a8267fcfa_c787821cbc147550a9bd0da97aff775e[] = { +stepfunc_7e7dadc68e5534e49808867fe7fa818b_c787821cbc147550a9bd0da97aff775e, +stepfunc_ddb40bd414abc157ba0fa4b188258d38_c787821cbc147550a9bd0da97aff775e, +stepfunc_902359f4db9d675ea2dcd70e44697adb_c787821cbc147550a9bd0da97aff775e, +stepfunc_8fff89501dcb48caade16bb16deb7b61_c787821cbc147550a9bd0da97aff775e, +stepfunc_503028b87c9460063cf45c9685a9e31b_c787821cbc147550a9bd0da97aff775e, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy21.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy21.hpp new file mode 100644 index 0000000..d485eaf --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy21.hpp @@ -0,0 +1,19 @@ +#ifndef GENERATED_121be70d0e261ecdbb1c1a5a67c8da32_HPP +#define GENERATED_121be70d0e261ecdbb1c1a5a67c8da32_HPP + +#include "bullet.hpp" + +void stepfunc_7e7dadc68e5534e49808867fe7fa818b_c787821cbc147550a9bd0da97aff775e(BulletInfo *p); +void stepfunc_ddb40bd414abc157ba0fa4b188258d38_c787821cbc147550a9bd0da97aff775e(BulletInfo *p); +void stepfunc_902359f4db9d675ea2dcd70e44697adb_c787821cbc147550a9bd0da97aff775e(BulletInfo *p); +void stepfunc_7ae946704ec367732b1d66d3c976f167_c787821cbc147550a9bd0da97aff775e(BulletInfo *p); +void stepfunc_8fff89501dcb48caade16bb16deb7b61_c787821cbc147550a9bd0da97aff775e(BulletInfo *p); +void stepfunc_503028b87c9460063cf45c9685a9e31b_c787821cbc147550a9bd0da97aff775e(BulletInfo *p); + + +extern const BulletStepFunc bullet_bf01d1221ae9777d09c2f97a8267fcfa_c787821cbc147550a9bd0da97aff775e[]; +const unsigned int bullet_bf01d1221ae9777d09c2f97a8267fcfa_c787821cbc147550a9bd0da97aff775e_size = 6; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy22.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy22.cpp new file mode 100644 index 0000000..bd83abf --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy22.cpp @@ -0,0 +1,12 @@ +extern const BulletStepFunc bullet_a6a7b4134fce4987c3e0694674040be2_09bfd4e879c0988929257729c81f9c4c[] = { +stepfunc_d51c12748c59a4b79115fd413e988880_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c, +stepfunc_22b547e792b3eb30918822b358b0eaf5_09bfd4e879c0988929257729c81f9c4c, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy22.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy22.hpp new file mode 100644 index 0000000..73c1ffd --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy22.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_3700f38cce5f83bdde728427c95115a1_HPP +#define GENERATED_3700f38cce5f83bdde728427c95115a1_HPP + +#include "bullet.hpp" + +void stepfunc_d51c12748c59a4b79115fd413e988880_09bfd4e879c0988929257729c81f9c4c(BulletInfo *p); +void stepfunc_6ba9703189746a284b35c2be3b6f8005_09bfd4e879c0988929257729c81f9c4c(BulletInfo *p); +void stepfunc_22b547e792b3eb30918822b358b0eaf5_09bfd4e879c0988929257729c81f9c4c(BulletInfo *p); + + +extern const BulletStepFunc bullet_a6a7b4134fce4987c3e0694674040be2_09bfd4e879c0988929257729c81f9c4c[]; +const unsigned int bullet_a6a7b4134fce4987c3e0694674040be2_09bfd4e879c0988929257729c81f9c4c_size = 11; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy23.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy23.cpp new file mode 100644 index 0000000..15190ed --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy23.cpp @@ -0,0 +1,19 @@ +extern const BulletStepFunc bullet_72977f5a201704a116fed2c268b98db5_318a5e347d432a1a29542cd45457692a[] = { +stepfunc_b9f3746024faf71a948d02a3f58cba12_318a5e347d432a1a29542cd45457692a, +stepfunc_874e5b4a542f0f7f52ac24d8da866549_318a5e347d432a1a29542cd45457692a, +NULL}; +extern const BulletStepFunc bullet_da391036f4887058d231358ef78fb2f0_318a5e347d432a1a29542cd45457692a[] = { +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_318a5e347d432a1a29542cd45457692a, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy23.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy23.hpp new file mode 100644 index 0000000..4add87c --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy23.hpp @@ -0,0 +1,19 @@ +#ifndef GENERATED_32276bc0cbdf82650cbb922d27de3812_HPP +#define GENERATED_32276bc0cbdf82650cbb922d27de3812_HPP + +#include "bullet.hpp" + +void stepfunc_b9f3746024faf71a948d02a3f58cba12_318a5e347d432a1a29542cd45457692a(BulletInfo *p); +void stepfunc_874e5b4a542f0f7f52ac24d8da866549_318a5e347d432a1a29542cd45457692a(BulletInfo *p); +void stepfunc_f8e5484dd9ba577849087e287b940bef_318a5e347d432a1a29542cd45457692a(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_318a5e347d432a1a29542cd45457692a(BulletInfo *p); + + +extern const BulletStepFunc bullet_72977f5a201704a116fed2c268b98db5_318a5e347d432a1a29542cd45457692a[]; +const unsigned int bullet_72977f5a201704a116fed2c268b98db5_318a5e347d432a1a29542cd45457692a_size = 3; +extern const BulletStepFunc bullet_da391036f4887058d231358ef78fb2f0_318a5e347d432a1a29542cd45457692a[]; +const unsigned int bullet_da391036f4887058d231358ef78fb2f0_318a5e347d432a1a29542cd45457692a_size = 14; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy3.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy3.cpp new file mode 100644 index 0000000..4166e93 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy3.cpp @@ -0,0 +1,63 @@ +extern const BulletStepFunc bullet_c794afbf6bb12730f94e683662793f8a_8aedc8195754c4dd651f0a2a5a887566[] = { +stepfunc_2baafa7d0855d17e7e46a0511e46b53e_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_2baafa7d0855d17e7e46a0511e46b53e_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_2baafa7d0855d17e7e46a0511e46b53e_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_2baafa7d0855d17e7e46a0511e46b53e_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_2baafa7d0855d17e7e46a0511e46b53e_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_8aedc8195754c4dd651f0a2a5a887566, +stepfunc_1d55ec62a2027d75b6227dde03a208c4_8aedc8195754c4dd651f0a2a5a887566, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy3.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy3.hpp new file mode 100644 index 0000000..c46acbd --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy3.hpp @@ -0,0 +1,18 @@ +#ifndef GENERATED_42fdca2c7d7f7f3cddbac3e0b81e8342_HPP +#define GENERATED_42fdca2c7d7f7f3cddbac3e0b81e8342_HPP + +#include "bullet.hpp" + +void stepfunc_2baafa7d0855d17e7e46a0511e46b53e_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p); +void stepfunc_bbf4d4d1a84fe518316ecf2f20d6a516_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p); +void stepfunc_a865c6c8b44585d6739ff7b1938fd90f_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p); +void stepfunc_1d55ec62a2027d75b6227dde03a208c4_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p); +void stepfunc_e8715eab52808a20b8b433d39b707b83_8aedc8195754c4dd651f0a2a5a887566(BulletInfo *p); + + +extern const BulletStepFunc bullet_c794afbf6bb12730f94e683662793f8a_8aedc8195754c4dd651f0a2a5a887566[]; +const unsigned int bullet_c794afbf6bb12730f94e683662793f8a_8aedc8195754c4dd651f0a2a5a887566_size = 62; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy4.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy4.cpp new file mode 100644 index 0000000..57c3004 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy4.cpp @@ -0,0 +1,9 @@ +extern const BulletStepFunc bullet_5ad4cc59553d10a405cdbb198b001267_dec11e16a9f1150c45961315fc55e25c[] = { +stepfunc_496a177f09c6c70ac478a8ede25ddcfc_dec11e16a9f1150c45961315fc55e25c, +stepfunc_3ddde2bccad344bc5031effee359580c_dec11e16a9f1150c45961315fc55e25c, +stepfunc_3ddde2bccad344bc5031effee359580c_dec11e16a9f1150c45961315fc55e25c, +stepfunc_3ddde2bccad344bc5031effee359580c_dec11e16a9f1150c45961315fc55e25c, +stepfunc_3ddde2bccad344bc5031effee359580c_dec11e16a9f1150c45961315fc55e25c, +stepfunc_3ddde2bccad344bc5031effee359580c_dec11e16a9f1150c45961315fc55e25c, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_dec11e16a9f1150c45961315fc55e25c, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy4.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy4.hpp new file mode 100644 index 0000000..2c2666c --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy4.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_b02a44f15e0384fdc0232cf27f8b877a_HPP +#define GENERATED_b02a44f15e0384fdc0232cf27f8b877a_HPP + +#include "bullet.hpp" + +void stepfunc_496a177f09c6c70ac478a8ede25ddcfc_dec11e16a9f1150c45961315fc55e25c(BulletInfo *p); +void stepfunc_3ddde2bccad344bc5031effee359580c_dec11e16a9f1150c45961315fc55e25c(BulletInfo *p); +void stepfunc_687865cd066bd880f8eb8a7528e62995_dec11e16a9f1150c45961315fc55e25c(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_dec11e16a9f1150c45961315fc55e25c(BulletInfo *p); + + +extern const BulletStepFunc bullet_5ad4cc59553d10a405cdbb198b001267_dec11e16a9f1150c45961315fc55e25c[]; +const unsigned int bullet_5ad4cc59553d10a405cdbb198b001267_dec11e16a9f1150c45961315fc55e25c_size = 8; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy5-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy5-left.cpp new file mode 100644 index 0000000..e9bec39 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy5-left.cpp @@ -0,0 +1,34 @@ +extern const BulletStepFunc bullet_51b979055bfa02264c7fa879417bd735_2c0732a900d9b3e707056d6023b22ceb[] = { +stepfunc_0f0b230a4ab3d82f5ea01408b71c431f_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_2c0732a900d9b3e707056d6023b22ceb, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy5-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy5-left.hpp new file mode 100644 index 0000000..fc5c8fb --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy5-left.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_2d3d0b51e97cd6c95145e308775e4ce5_HPP +#define GENERATED_2d3d0b51e97cd6c95145e308775e4ce5_HPP + +#include "bullet.hpp" + +void stepfunc_0f0b230a4ab3d82f5ea01408b71c431f_2c0732a900d9b3e707056d6023b22ceb(BulletInfo *p); +void stepfunc_dc4f2021c4474822ea00d4d6b301efd6_2c0732a900d9b3e707056d6023b22ceb(BulletInfo *p); +void stepfunc_2015d27d528ae3d3a8365fb25a3ad1ea_2c0732a900d9b3e707056d6023b22ceb(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_2c0732a900d9b3e707056d6023b22ceb(BulletInfo *p); + + +extern const BulletStepFunc bullet_51b979055bfa02264c7fa879417bd735_2c0732a900d9b3e707056d6023b22ceb[]; +const unsigned int bullet_51b979055bfa02264c7fa879417bd735_2c0732a900d9b3e707056d6023b22ceb_size = 33; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy5-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy5-right.cpp new file mode 100644 index 0000000..47bcaa0 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy5-right.cpp @@ -0,0 +1,34 @@ +extern const BulletStepFunc bullet_15795ebc0cd3e231df26f50c165eab4c_59b8e2343c4e9df70d90f97eb1458c37[] = { +stepfunc_822e838f92af219607f84c9e4032b909_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_59b8e2343c4e9df70d90f97eb1458c37, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy5-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy5-right.hpp new file mode 100644 index 0000000..4b64080 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy5-right.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_fbbe205fe54a188294db8a6e5593fe23_HPP +#define GENERATED_fbbe205fe54a188294db8a6e5593fe23_HPP + +#include "bullet.hpp" + +void stepfunc_822e838f92af219607f84c9e4032b909_59b8e2343c4e9df70d90f97eb1458c37(BulletInfo *p); +void stepfunc_1430c93ec48147bb856fc73ee0dd405e_59b8e2343c4e9df70d90f97eb1458c37(BulletInfo *p); +void stepfunc_2015d27d528ae3d3a8365fb25a3ad1ea_59b8e2343c4e9df70d90f97eb1458c37(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_59b8e2343c4e9df70d90f97eb1458c37(BulletInfo *p); + + +extern const BulletStepFunc bullet_15795ebc0cd3e231df26f50c165eab4c_59b8e2343c4e9df70d90f97eb1458c37[]; +const unsigned int bullet_15795ebc0cd3e231df26f50c165eab4c_59b8e2343c4e9df70d90f97eb1458c37_size = 33; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy6.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy6.cpp new file mode 100644 index 0000000..0d2c00a --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy6.cpp @@ -0,0 +1,1003 @@ +extern const BulletStepFunc bullet_1bf5b6d52633688731bc37f215e484cb_02dd1bd4f9776189a750840ac63a62e3[] = { +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_02dd1bd4f9776189a750840ac63a62e3, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy6.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy6.hpp new file mode 100644 index 0000000..ed61ca6 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy6.hpp @@ -0,0 +1,15 @@ +#ifndef GENERATED_96fb4f69067a5860bc3adec24d3cd984_HPP +#define GENERATED_96fb4f69067a5860bc3adec24d3cd984_HPP + +#include "bullet.hpp" + +void stepfunc_10750c37326115a8f97cd844e93d5b79_02dd1bd4f9776189a750840ac63a62e3(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_02dd1bd4f9776189a750840ac63a62e3(BulletInfo *p); + + +extern const BulletStepFunc bullet_1bf5b6d52633688731bc37f215e484cb_02dd1bd4f9776189a750840ac63a62e3[]; +const unsigned int bullet_1bf5b6d52633688731bc37f215e484cb_02dd1bd4f9776189a750840ac63a62e3_size = 1002; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy7.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy7.cpp new file mode 100644 index 0000000..509af83 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy7.cpp @@ -0,0 +1,610 @@ +extern const BulletStepFunc bullet_9ac334e029be6ea026fbd27d03d5d9ce_4b2dc6f3a66d16b089e4ecdb71e96d99[] = { +stepfunc_496a177f09c6c70ac478a8ede25ddcfc_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_4b2dc6f3a66d16b089e4ecdb71e96d99, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy7.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy7.hpp new file mode 100644 index 0000000..8132ab1 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy7.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_dc7fafdc46861e38366376c6f66b70eb_HPP +#define GENERATED_dc7fafdc46861e38366376c6f66b70eb_HPP + +#include "bullet.hpp" + +void stepfunc_496a177f09c6c70ac478a8ede25ddcfc_4b2dc6f3a66d16b089e4ecdb71e96d99(BulletInfo *p); +void stepfunc_f074822586c1f3c22a7bb9f72fbe234c_4b2dc6f3a66d16b089e4ecdb71e96d99(BulletInfo *p); +void stepfunc_a865c6c8b44585d6739ff7b1938fd90f_4b2dc6f3a66d16b089e4ecdb71e96d99(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_4b2dc6f3a66d16b089e4ecdb71e96d99(BulletInfo *p); + + +extern const BulletStepFunc bullet_9ac334e029be6ea026fbd27d03d5d9ce_4b2dc6f3a66d16b089e4ecdb71e96d99[]; +const unsigned int bullet_9ac334e029be6ea026fbd27d03d5d9ce_4b2dc6f3a66d16b089e4ecdb71e96d99_size = 609; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-bottom.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-bottom.cpp new file mode 100644 index 0000000..38818e6 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-bottom.cpp @@ -0,0 +1,204 @@ +extern const BulletStepFunc bullet_9aa85ea973367bca04d8505002de6f85_8992f4049185e5d6d49bff5730ce81d7[] = { +stepfunc_afd63198c9782f7461437937ebea8ef8_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_8992f4049185e5d6d49bff5730ce81d7, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-bottom.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-bottom.hpp new file mode 100644 index 0000000..6b7b37e --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-bottom.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_0e2d64f4a879232bf8905230ced095e0_HPP +#define GENERATED_0e2d64f4a879232bf8905230ced095e0_HPP + +#include "bullet.hpp" + +void stepfunc_afd63198c9782f7461437937ebea8ef8_8992f4049185e5d6d49bff5730ce81d7(BulletInfo *p); +void stepfunc_c54da424e734b7749ae499b5c070d498_8992f4049185e5d6d49bff5730ce81d7(BulletInfo *p); +void stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_8992f4049185e5d6d49bff5730ce81d7(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_8992f4049185e5d6d49bff5730ce81d7(BulletInfo *p); + + +extern const BulletStepFunc bullet_9aa85ea973367bca04d8505002de6f85_8992f4049185e5d6d49bff5730ce81d7[]; +const unsigned int bullet_9aa85ea973367bca04d8505002de6f85_8992f4049185e5d6d49bff5730ce81d7_size = 203; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-left.cpp new file mode 100644 index 0000000..ce12403 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-left.cpp @@ -0,0 +1,204 @@ +extern const BulletStepFunc bullet_67c9f774afbe33ed9d2cdedd06d09151_afbc3f1599e7eb57bfa4eb2b00bb820c[] = { +stepfunc_1b49a612a980041f2ce624a717b897c8_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_afbc3f1599e7eb57bfa4eb2b00bb820c, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-left.hpp new file mode 100644 index 0000000..89bfc89 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-left.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_a4f17afc295a07eadbf1fb07160fa256_HPP +#define GENERATED_a4f17afc295a07eadbf1fb07160fa256_HPP + +#include "bullet.hpp" + +void stepfunc_1b49a612a980041f2ce624a717b897c8_afbc3f1599e7eb57bfa4eb2b00bb820c(BulletInfo *p); +void stepfunc_c54da424e734b7749ae499b5c070d498_afbc3f1599e7eb57bfa4eb2b00bb820c(BulletInfo *p); +void stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_afbc3f1599e7eb57bfa4eb2b00bb820c(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_afbc3f1599e7eb57bfa4eb2b00bb820c(BulletInfo *p); + + +extern const BulletStepFunc bullet_67c9f774afbe33ed9d2cdedd06d09151_afbc3f1599e7eb57bfa4eb2b00bb820c[]; +const unsigned int bullet_67c9f774afbe33ed9d2cdedd06d09151_afbc3f1599e7eb57bfa4eb2b00bb820c_size = 203; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-right.cpp new file mode 100644 index 0000000..3d417a8 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-right.cpp @@ -0,0 +1,204 @@ +extern const BulletStepFunc bullet_27544f8e23814b84f8f921290ce2d136_5db72b392e4f591ce2f87d39746f9aec[] = { +stepfunc_22c9d9af7cfc82da48b72685bd17f252_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_5db72b392e4f591ce2f87d39746f9aec, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-right.hpp new file mode 100644 index 0000000..9cb634a --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy8-right.hpp @@ -0,0 +1,17 @@ +#ifndef GENERATED_177308dd09a2d4e2c556c3f90f28ad98_HPP +#define GENERATED_177308dd09a2d4e2c556c3f90f28ad98_HPP + +#include "bullet.hpp" + +void stepfunc_22c9d9af7cfc82da48b72685bd17f252_5db72b392e4f591ce2f87d39746f9aec(BulletInfo *p); +void stepfunc_c54da424e734b7749ae499b5c070d498_5db72b392e4f591ce2f87d39746f9aec(BulletInfo *p); +void stepfunc_63dc1c42d7700c4e60a774dd2bf640e7_5db72b392e4f591ce2f87d39746f9aec(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_5db72b392e4f591ce2f87d39746f9aec(BulletInfo *p); + + +extern const BulletStepFunc bullet_27544f8e23814b84f8f921290ce2d136_5db72b392e4f591ce2f87d39746f9aec[]; +const unsigned int bullet_27544f8e23814b84f8f921290ce2d136_5db72b392e4f591ce2f87d39746f9aec_size = 203; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy9-left.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy9-left.cpp new file mode 100644 index 0000000..74231fe --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy9-left.cpp @@ -0,0 +1,24 @@ +extern const BulletStepFunc bullet_6bc9aeb041719d9dcbdb390d5bc1bc85_f107c17d1c894e586e7489862f23d92e[] = { +stepfunc_e02265704f533da974de467a0920f619_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_f107c17d1c894e586e7489862f23d92e, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy9-left.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy9-left.hpp new file mode 100644 index 0000000..559e70d --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy9-left.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_7ce6163812596ebbe247bd41a8e4dd9f_HPP +#define GENERATED_7ce6163812596ebbe247bd41a8e4dd9f_HPP + +#include "bullet.hpp" + +void stepfunc_e02265704f533da974de467a0920f619_f107c17d1c894e586e7489862f23d92e(BulletInfo *p); +void stepfunc_05aab8796018ef0a8d1c895b1dbed717_f107c17d1c894e586e7489862f23d92e(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_f107c17d1c894e586e7489862f23d92e(BulletInfo *p); + + +extern const BulletStepFunc bullet_6bc9aeb041719d9dcbdb390d5bc1bc85_f107c17d1c894e586e7489862f23d92e[]; +const unsigned int bullet_6bc9aeb041719d9dcbdb390d5bc1bc85_f107c17d1c894e586e7489862f23d92e_size = 23; + + +#endif + diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy9-right.cpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy9-right.cpp new file mode 100644 index 0000000..c1f4455 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy9-right.cpp @@ -0,0 +1,24 @@ +extern const BulletStepFunc bullet_8a0704ffc1a026725ca3cfa9bc986f73_444e03c42d0db749411ffb80b473544e[] = { +stepfunc_a8039100d814a18bac47c45ffcba8e1f_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e, +stepfunc_dae2cf81747ffb5070f05c8837b1d568_444e03c42d0db749411ffb80b473544e, +NULL}; diff --git a/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy9-right.hpp b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy9-right.hpp new file mode 100644 index 0000000..ba08072 --- /dev/null +++ b/vulkanon/generator/tmp/05-gen-callingvector/vulkanon/l0_enemy9-right.hpp @@ -0,0 +1,16 @@ +#ifndef GENERATED_2adb0eacf00d2636f7f8b32a81b8b69f_HPP +#define GENERATED_2adb0eacf00d2636f7f8b32a81b8b69f_HPP + +#include "bullet.hpp" + +void stepfunc_a8039100d814a18bac47c45ffcba8e1f_444e03c42d0db749411ffb80b473544e(BulletInfo *p); +void stepfunc_c5a85e076c4034d7e927399b715db7d3_444e03c42d0db749411ffb80b473544e(BulletInfo *p); +void stepfunc_dae2cf81747ffb5070f05c8837b1d568_444e03c42d0db749411ffb80b473544e(BulletInfo *p); + + +extern const BulletStepFunc bullet_8a0704ffc1a026725ca3cfa9bc986f73_444e03c42d0db749411ffb80b473544e[]; +const unsigned int bullet_8a0704ffc1a026725ca3cfa9bc986f73_444e03c42d0db749411ffb80b473544e_size = 23; + + +#endif + diff --git a/vulkanon/generator/utils/viewxml.php b/vulkanon/generator/utils/viewxml.php new file mode 100755 index 0000000..3b8eb8d --- /dev/null +++ b/vulkanon/generator/utils/viewxml.php @@ -0,0 +1,14 @@ +#!/usr/bin/env php +preserveWhiteSpace = false; +$doc->formatOutput = true; +$doc->load($xmlfile, LIBXML_NSCLEAN); + +print $doc->saveXML(); + +?> diff --git a/vulkanon/images/bg/bg_background.bmp b/vulkanon/images/bg/bg_background.bmp new file mode 100644 index 0000000..0b02d38 Binary files /dev/null and b/vulkanon/images/bg/bg_background.bmp differ diff --git a/vulkanon/images/bg/bg_boss_body.bmp b/vulkanon/images/bg/bg_boss_body.bmp new file mode 100644 index 0000000..f4b7f43 Binary files /dev/null and b/vulkanon/images/bg/bg_boss_body.bmp differ diff --git a/vulkanon/images/bg/bg_boss_body_damaged.bmp b/vulkanon/images/bg/bg_boss_body_damaged.bmp new file mode 100644 index 0000000..1e94345 Binary files /dev/null and b/vulkanon/images/bg/bg_boss_body_damaged.bmp differ diff --git a/vulkanon/images/bg/bg_boss_core_1.bmp b/vulkanon/images/bg/bg_boss_core_1.bmp new file mode 100644 index 0000000..5418eab Binary files /dev/null and b/vulkanon/images/bg/bg_boss_core_1.bmp differ diff --git a/vulkanon/images/bg/bg_boss_core_2.bmp b/vulkanon/images/bg/bg_boss_core_2.bmp new file mode 100644 index 0000000..f39c752 Binary files /dev/null and b/vulkanon/images/bg/bg_boss_core_2.bmp differ diff --git a/vulkanon/images/bg/bg_boss_core_3.bmp b/vulkanon/images/bg/bg_boss_core_3.bmp new file mode 100644 index 0000000..355a3c9 Binary files /dev/null and b/vulkanon/images/bg/bg_boss_core_3.bmp differ diff --git a/vulkanon/images/bg/bg_boss_core_4.bmp b/vulkanon/images/bg/bg_boss_core_4.bmp new file mode 100644 index 0000000..2d8fe63 Binary files /dev/null and b/vulkanon/images/bg/bg_boss_core_4.bmp differ diff --git a/vulkanon/images/bg/bg_boss_shield.bmp b/vulkanon/images/bg/bg_boss_shield.bmp new file mode 100644 index 0000000..dabff18 Binary files /dev/null and b/vulkanon/images/bg/bg_boss_shield.bmp differ diff --git a/vulkanon/images/bg/bg_font_green.bmp b/vulkanon/images/bg/bg_font_green.bmp new file mode 100644 index 0000000..e4c0997 Binary files /dev/null and b/vulkanon/images/bg/bg_font_green.bmp differ diff --git a/vulkanon/images/bg/bg_font_red.bmp b/vulkanon/images/bg/bg_font_red.bmp new file mode 100644 index 0000000..65ba23d Binary files /dev/null and b/vulkanon/images/bg/bg_font_red.bmp differ diff --git a/vulkanon/images/bg/bg_font_white.bmp b/vulkanon/images/bg/bg_font_white.bmp new file mode 100644 index 0000000..63b5322 Binary files /dev/null and b/vulkanon/images/bg/bg_font_white.bmp differ diff --git a/vulkanon/images/bg/bg_horizontal_laser.bmp b/vulkanon/images/bg/bg_horizontal_laser.bmp new file mode 100644 index 0000000..e71be90 Binary files /dev/null and b/vulkanon/images/bg/bg_horizontal_laser.bmp differ diff --git a/vulkanon/images/bg/bg_menu_circle.bmp b/vulkanon/images/bg/bg_menu_circle.bmp new file mode 100644 index 0000000..a4b63ba Binary files /dev/null and b/vulkanon/images/bg/bg_menu_circle.bmp differ diff --git a/vulkanon/images/bg/bg_menu_leftarrow.bmp b/vulkanon/images/bg/bg_menu_leftarrow.bmp new file mode 100644 index 0000000..72003b4 Binary files /dev/null and b/vulkanon/images/bg/bg_menu_leftarrow.bmp differ diff --git a/vulkanon/images/bg/bg_menu_logo.bmp b/vulkanon/images/bg/bg_menu_logo.bmp new file mode 100644 index 0000000..4085628 Binary files /dev/null and b/vulkanon/images/bg/bg_menu_logo.bmp differ diff --git a/vulkanon/images/bg/bg_menu_rightarrow.bmp b/vulkanon/images/bg/bg_menu_rightarrow.bmp new file mode 100644 index 0000000..adf4eee Binary files /dev/null and b/vulkanon/images/bg/bg_menu_rightarrow.bmp differ diff --git a/vulkanon/images/bg/bg_menu_url.bmp b/vulkanon/images/bg/bg_menu_url.bmp new file mode 100644 index 0000000..3bb3f32 Binary files /dev/null and b/vulkanon/images/bg/bg_menu_url.bmp differ diff --git a/vulkanon/images/bg/bg_menu_version.bmp b/vulkanon/images/bg/bg_menu_version.bmp new file mode 100644 index 0000000..2b4df22 Binary files /dev/null and b/vulkanon/images/bg/bg_menu_version.bmp differ diff --git a/vulkanon/images/bg/bg_number.bmp b/vulkanon/images/bg/bg_number.bmp new file mode 100644 index 0000000..08af7c2 Binary files /dev/null and b/vulkanon/images/bg/bg_number.bmp differ diff --git a/vulkanon/images/bg/bg_replay.bmp b/vulkanon/images/bg/bg_replay.bmp new file mode 100644 index 0000000..892da50 Binary files /dev/null and b/vulkanon/images/bg/bg_replay.bmp differ diff --git a/vulkanon/images/bg/bg_result_bestplay.bmp b/vulkanon/images/bg/bg_result_bestplay.bmp new file mode 100644 index 0000000..128311c Binary files /dev/null and b/vulkanon/images/bg/bg_result_bestplay.bmp differ diff --git a/vulkanon/images/bg/bg_result_bestscore.bmp b/vulkanon/images/bg/bg_result_bestscore.bmp new file mode 100644 index 0000000..09736bc Binary files /dev/null and b/vulkanon/images/bg/bg_result_bestscore.bmp differ diff --git a/vulkanon/images/bg/bg_result_border_bg.bmp b/vulkanon/images/bg/bg_result_border_bg.bmp new file mode 100644 index 0000000..48c18ec Binary files /dev/null and b/vulkanon/images/bg/bg_result_border_bg.bmp differ diff --git a/vulkanon/images/bg/bg_result_border_bottom.bmp b/vulkanon/images/bg/bg_result_border_bottom.bmp new file mode 100644 index 0000000..22da8f6 Binary files /dev/null and b/vulkanon/images/bg/bg_result_border_bottom.bmp differ diff --git a/vulkanon/images/bg/bg_result_border_top.bmp b/vulkanon/images/bg/bg_result_border_top.bmp new file mode 100644 index 0000000..96590ca Binary files /dev/null and b/vulkanon/images/bg/bg_result_border_top.bmp differ diff --git a/vulkanon/images/bg/bg_result_clear.bmp b/vulkanon/images/bg/bg_result_clear.bmp new file mode 100644 index 0000000..6df1318 Binary files /dev/null and b/vulkanon/images/bg/bg_result_clear.bmp differ diff --git a/vulkanon/images/bg/bg_result_pressstart.bmp b/vulkanon/images/bg/bg_result_pressstart.bmp new file mode 100644 index 0000000..823910d Binary files /dev/null and b/vulkanon/images/bg/bg_result_pressstart.bmp differ diff --git a/vulkanon/images/bg/bg_result_replaysaved.bmp b/vulkanon/images/bg/bg_result_replaysaved.bmp new file mode 100644 index 0000000..bd5825d Binary files /dev/null and b/vulkanon/images/bg/bg_result_replaysaved.bmp differ diff --git a/vulkanon/images/bg/bg_result_timeover.bmp b/vulkanon/images/bg/bg_result_timeover.bmp new file mode 100644 index 0000000..c8220b2 Binary files /dev/null and b/vulkanon/images/bg/bg_result_timeover.bmp differ diff --git a/vulkanon/images/bg/bg_status.bmp b/vulkanon/images/bg/bg_status.bmp new file mode 100644 index 0000000..5580adb Binary files /dev/null and b/vulkanon/images/bg/bg_status.bmp differ diff --git a/vulkanon/images/bg/bg_transparent.bmp b/vulkanon/images/bg/bg_transparent.bmp new file mode 100644 index 0000000..4676d32 Binary files /dev/null and b/vulkanon/images/bg/bg_transparent.bmp differ diff --git a/vulkanon/images/bg/xcf/bg_font_white.xcf b/vulkanon/images/bg/xcf/bg_font_white.xcf new file mode 100644 index 0000000..24e5b4e Binary files /dev/null and b/vulkanon/images/bg/xcf/bg_font_white.xcf differ diff --git a/vulkanon/images/bg/xcf/bg_menu_logo.xcf b/vulkanon/images/bg/xcf/bg_menu_logo.xcf new file mode 100644 index 0000000..f2cdc59 Binary files /dev/null and b/vulkanon/images/bg/xcf/bg_menu_logo.xcf differ diff --git a/vulkanon/images/bg/xcf/bg_menu_url.xcf b/vulkanon/images/bg/xcf/bg_menu_url.xcf new file mode 100644 index 0000000..2038c66 Binary files /dev/null and b/vulkanon/images/bg/xcf/bg_menu_url.xcf differ diff --git a/vulkanon/images/bg/xcf/bg_result_bestplay.xcf b/vulkanon/images/bg/xcf/bg_result_bestplay.xcf new file mode 100644 index 0000000..3cdb8be Binary files /dev/null and b/vulkanon/images/bg/xcf/bg_result_bestplay.xcf differ diff --git a/vulkanon/images/bg/xcf/bg_result_bestscore.xcf b/vulkanon/images/bg/xcf/bg_result_bestscore.xcf new file mode 100644 index 0000000..0df3984 Binary files /dev/null and b/vulkanon/images/bg/xcf/bg_result_bestscore.xcf differ diff --git a/vulkanon/images/bg/xcf/bg_result_clear.xcf b/vulkanon/images/bg/xcf/bg_result_clear.xcf new file mode 100644 index 0000000..15983b9 Binary files /dev/null and b/vulkanon/images/bg/xcf/bg_result_clear.xcf differ diff --git a/vulkanon/images/bg/xcf/bg_result_pressstart.xcf b/vulkanon/images/bg/xcf/bg_result_pressstart.xcf new file mode 100644 index 0000000..4c31483 Binary files /dev/null and b/vulkanon/images/bg/xcf/bg_result_pressstart.xcf differ diff --git a/vulkanon/images/bg/xcf/bg_result_replaysaved.xcf b/vulkanon/images/bg/xcf/bg_result_replaysaved.xcf new file mode 100644 index 0000000..25d7bd8 Binary files /dev/null and b/vulkanon/images/bg/xcf/bg_result_replaysaved.xcf differ diff --git a/vulkanon/images/bg/xcf/bg_result_timeover.xcf b/vulkanon/images/bg/xcf/bg_result_timeover.xcf new file mode 100644 index 0000000..84cbd8e Binary files /dev/null and b/vulkanon/images/bg/xcf/bg_result_timeover.xcf differ diff --git a/vulkanon/images/conv.sh b/vulkanon/images/conv.sh new file mode 100755 index 0000000..08c3472 --- /dev/null +++ b/vulkanon/images/conv.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +basedir=$(dirname $0) + +for f in */*.bmp; do ~/gba/tools/convbmp.sh $f > $basedir/../source/img/$(basename $f .bmp).cpp; done + +allincFileName=$basedir/../source/img/allinc.cpp +rm -f $allincFileName +for f in */*.bmp; do echo "#include \"img/$(basename $f .bmp).cpp\"" >> $allincFileName; done diff --git a/vulkanon/images/spr/spr_bonus.bmp b/vulkanon/images/spr/spr_bonus.bmp new file mode 100644 index 0000000..dbc438a Binary files /dev/null and b/vulkanon/images/spr/spr_bonus.bmp differ diff --git a/vulkanon/images/spr/spr_bullet.bmp b/vulkanon/images/spr/spr_bullet.bmp new file mode 100644 index 0000000..00e206b Binary files /dev/null and b/vulkanon/images/spr/spr_bullet.bmp differ diff --git a/vulkanon/images/spr/spr_bullet_orig.bmp b/vulkanon/images/spr/spr_bullet_orig.bmp new file mode 100644 index 0000000..dbe8f4d Binary files /dev/null and b/vulkanon/images/spr/spr_bullet_orig.bmp differ diff --git a/vulkanon/images/spr/spr_explode.bmp b/vulkanon/images/spr/spr_explode.bmp new file mode 100644 index 0000000..b16c178 Binary files /dev/null and b/vulkanon/images/spr/spr_explode.bmp differ diff --git a/vulkanon/images/spr/spr_explode_self.bmp b/vulkanon/images/spr/spr_explode_self.bmp new file mode 100644 index 0000000..9b4fc00 Binary files /dev/null and b/vulkanon/images/spr/spr_explode_self.bmp differ diff --git a/vulkanon/images/spr/spr_root_bullet.bmp b/vulkanon/images/spr/spr_root_bullet.bmp new file mode 100644 index 0000000..11ae5ce Binary files /dev/null and b/vulkanon/images/spr/spr_root_bullet.bmp differ diff --git a/vulkanon/images/spr/spr_self.bmp b/vulkanon/images/spr/spr_self.bmp new file mode 100644 index 0000000..6f1ac63 Binary files /dev/null and b/vulkanon/images/spr/spr_self.bmp differ diff --git a/vulkanon/images/spr/spr_shot_fullpower.bmp b/vulkanon/images/spr/spr_shot_fullpower.bmp new file mode 100644 index 0000000..824f3c2 Binary files /dev/null and b/vulkanon/images/spr/spr_shot_fullpower.bmp differ diff --git a/vulkanon/images/spr/spr_shot_normal.bmp b/vulkanon/images/spr/spr_shot_normal.bmp new file mode 100644 index 0000000..27a5a9f Binary files /dev/null and b/vulkanon/images/spr/spr_shot_normal.bmp differ diff --git a/vulkanon/images/spr/spr_suicide_bullet_original_direction.bmp b/vulkanon/images/spr/spr_suicide_bullet_original_direction.bmp new file mode 100644 index 0000000..a62e7d0 Binary files /dev/null and b/vulkanon/images/spr/spr_suicide_bullet_original_direction.bmp differ diff --git a/vulkanon/images/spr/spr_suicide_bullet_target_self.bmp b/vulkanon/images/spr/spr_suicide_bullet_target_self.bmp new file mode 100644 index 0000000..e65ccb9 Binary files /dev/null and b/vulkanon/images/spr/spr_suicide_bullet_target_self.bmp differ diff --git a/vulkanon/images/spr/spr_transparent.bmp b/vulkanon/images/spr/spr_transparent.bmp new file mode 100644 index 0000000..4676d32 Binary files /dev/null and b/vulkanon/images/spr/spr_transparent.bmp differ diff --git a/vulkanon/images/spr/xcf/spr_explode.xcf b/vulkanon/images/spr/xcf/spr_explode.xcf new file mode 100644 index 0000000..89a26b2 Binary files /dev/null and b/vulkanon/images/spr/xcf/spr_explode.xcf differ diff --git a/vulkanon/images/spr/xcf/spr_explode_boss.xcf b/vulkanon/images/spr/xcf/spr_explode_boss.xcf new file mode 100644 index 0000000..34691bb Binary files /dev/null and b/vulkanon/images/spr/xcf/spr_explode_boss.xcf differ diff --git a/vulkanon/makerom.sh b/vulkanon/makerom.sh new file mode 100755 index 0000000..8f49a01 --- /dev/null +++ b/vulkanon/makerom.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +targetromsize=`expr 2 '*' 1024 '*' 1024` +targetromname=vulkanon.rom.gba +filename=vulkanon.gba +if [ -z "$1" ]; then + title="Vulkanon2.1" +else + title=$1 +fi + +gbafix $filename -t$title + +dd if=/dev/zero of=$targetromname bs=$targetromsize count=1 >& /dev/null +dd if=$filename of=$targetromname conv=notrunc >& /dev/null +# Overwrite Nintendo Logo +# dd if=/dev/zero of=$targetromname conv=notrunc bs=1 count=156 seek=4 >& /dev/null + +if [ $(ls -S -1 $filename $targetromname | head -n 1) != $targetromname ]; then + echo "[ERROR] Too small target ROM size. Please edit makerom.sh" + exit 1 +fi diff --git a/vulkanon/source/audiodef.hpp b/vulkanon/source/audiodef.hpp new file mode 120000 index 0000000..52e814a --- /dev/null +++ b/vulkanon/source/audiodef.hpp @@ -0,0 +1 @@ +../audio/audiodef.hpp \ No newline at end of file diff --git a/vulkanon/source/barrageinfo.hpp b/vulkanon/source/barrageinfo.hpp new file mode 100644 index 0000000..bf69bb8 --- /dev/null +++ b/vulkanon/source/barrageinfo.hpp @@ -0,0 +1,24 @@ +#ifndef BARRAGEINFO_HPP +#define BARRAGEINFO_HPP + +#include "bullet.hpp" + +enum ActionType { + ACTIONTYPE_WAIT, + ACTIONTYPE_BULLET_NORMAL, + ACTIONTYPE_BOSS_ENABLE, + + END_OF_ACTIONTYPE, +}; + +struct BarrageInfo { + int x; + int y; + int life; + BulletGenerateFunc func; + + ActionType type; + int num; // variable for type. +}; + +#endif diff --git a/vulkanon/source/boost b/vulkanon/source/boost new file mode 120000 index 0000000..e732924 --- /dev/null +++ b/vulkanon/source/boost @@ -0,0 +1 @@ +../../boost \ No newline at end of file diff --git a/vulkanon/source/bossbody.hpp b/vulkanon/source/bossbody.hpp new file mode 100644 index 0000000..87bdb18 --- /dev/null +++ b/vulkanon/source/bossbody.hpp @@ -0,0 +1,96 @@ +#ifndef BOSSBODY_HPP +#define BOSSBODY_HPP + +template +class BossBody { +public: + enum { + // ALPHA_STEP_FRAME_COUNT must be 2^x + ALPHA_STEP_FRAME_COUNT = 8, + + BOSS_DAMAGE_EFFECT_TIME = 10, + + BOSS_VIBRATE_EFFECT_FRAMES_PER_PATTERN = 2, + BOSS_VIBRATE_EFFECT_PATTERN = 16, + BOSS_VIBRATE_EFFECT_MAGNITUDE = 4, + }; + + void initialize(void) { + damageEffectTime = 0; + vibrateEffectTime = 0; + alphaCounter = 16 * ALPHA_STEP_FRAME_COUNT; + + REG_BLDCNT = BIT(2) | BIT(6) | BIT(11); + REG_BLDALPHA = (0xf << 9) | 0; + + drawTile(); + } + + void setDamageEffect(void) { + damageEffectTime = BOSS_DAMAGE_EFFECT_TIME; + } + + void setVibrateEffect(void) { + vibrateEffectTime = BOSS_VIBRATE_EFFECT_FRAMES_PER_PATTERN * BOSS_VIBRATE_EFFECT_PATTERN; + } + + bool isVibrateEffect(void) const { + return vibrateEffectTime > 0; + } + + bool isBossEnabled(void) const { + return alphaCounter == 0; + } + + void step(void) { + int posx = 0; + int posy = 0; + + if (damageEffectTime > 0) { + --damageEffectTime; + posx = 256; + } + if (vibrateEffectTime > 0) { + --vibrateEffectTime; + const int pattern = BOSS_VIBRATE_EFFECT_PATTERN - (vibrateEffectTime / BOSS_VIBRATE_EFFECT_FRAMES_PER_PATTERN); + const int posxSwing = (pattern & 0x1) * BOSS_VIBRATE_EFFECT_MAGNITUDE - (BOSS_VIBRATE_EFFECT_MAGNITUDE / 2); + const int posySwing = ((pattern & 0x3) < 2) * BOSS_VIBRATE_EFFECT_MAGNITUDE - (BOSS_VIBRATE_EFFECT_MAGNITUDE / 2); + posx = posxSwing; + posy += posySwing; + } + + BG2HOFS = (posx & 0x1ff); + BG2VOFS = (posy & 0x1ff); + + // BG2 & BG3 alpha + if (alphaCounter > 0) { + --alphaCounter; + if (alphaCounter == 0) { + REG_BLDCNT = 0; + } else { + REG_BLDALPHA = (0xf << 9) | (0xf - (alphaCounter / ALPHA_STEP_FRAME_COUNT)); + } + } + } + +private: + void drawTile(void) const { + for (int idx = 0; idx < 2; ++idx) { + for (int i = 0; i < 3; ++i) { + int palette = ImageHandler::BGCOLOR_BOSS_BODY + idx; + ImageHandler::drawImage(i * 10, 1, ImageResource::getTileIndex::value, + TILEINFO_bg_boss_body::w, + TILEINFO_bg_boss_body::h, + palette, + _BGMAP_INDEX + idx); + } + } + } + + int damageEffectTime; + int vibrateEffectTime; + + int alphaCounter; +}; + +#endif diff --git a/vulkanon/source/bosscore.hpp b/vulkanon/source/bosscore.hpp new file mode 100644 index 0000000..eb4b14f --- /dev/null +++ b/vulkanon/source/bosscore.hpp @@ -0,0 +1,159 @@ +#ifndef BOSSCORE_HPP +#define BOSSCORE_HPP + +#include "bullet.hpp" +#include "stepfunc.hpp" + +template +class BossCore { +public: + enum { +#if 1 + BOSS_SHIELD_LIFE = 128, // must be 2^x + BOSS_SHIELD_NUM = 3, + + BOSS_CORE_LIFE = 32, + BOSS_CORE_PATTERN = 3, +#else + BOSS_SHIELD_LIFE = 2, // must be 2^x + BOSS_SHIELD_NUM = 3, + + BOSS_CORE_LIFE = 2, + BOSS_CORE_PATTERN = 3, +#endif + + BOSS_LIFE = BOSS_SHIELD_LIFE * BOSS_SHIELD_NUM + BOSS_CORE_LIFE * BOSS_CORE_PATTERN, + }; + + void initialize(void) { + shieldLife = BOSS_SHIELD_LIFE * BOSS_SHIELD_NUM; + coreLife = BOSS_CORE_LIFE * BOSS_CORE_PATTERN; + + displayedShieldNum = -1; + displayedCorePattern = -1; + + drawShield(); + drawCore(); + } + + bool isAlive(void) const { + return coreLife > 0; + } + + void kill(void) { + coreLife = 0; + } + + int getBorderPosY(void) const { + return (_TILEY * 8 + ImageHandler::OBJPIXEL_HEIGHT_BOSS_CORE) + + ((ImageHandler::OBJPIXEL_HEIGHT_BOSS_SHIELD - 2) / BOSS_SHIELD_NUM) * displayedShieldNum; + } + + bool isHitX(int shotCenter) const { + const int center = getCenterPosX(); + const int minX_left = center - 16; + const int maxX_left = center + 16; + + return static_cast(shotCenter - minX_left) < static_cast(maxX_left - minX_left); + } + + bool hitCheck(int shotCenter) { + if (isHitX(shotCenter)) { + const int center = getCenterPosX(); + if (displayedShieldNum > 0) { + const int posy = getBorderPosY() - ImageHandler::OBJPIXEL_WIDTH_EXPLODE / 2; + makeBossHitEffect(center - ImageHandler::OBJPIXEL_WIDTH_EXPLODE / 2, posy); + makeBossHitEffect(center - 8 - ImageHandler::OBJPIXEL_WIDTH_EXPLODE / 2, posy); + makeBossHitEffect(center + 8 - ImageHandler::OBJPIXEL_WIDTH_EXPLODE / 2, posy); + } else { + const int posy = getCenterPosY() - ImageHandler::OBJPIXEL_WIDTH_EXPLODE / 2; + makeBossHitEffect(center - ImageHandler::OBJPIXEL_WIDTH_EXPLODE / 2, posy); + } + + succDamage(); + + return true; + } + + return false; + } + + const int getShieldNum(void) const { + return (shieldLife + BOSS_SHIELD_LIFE - 1) / BOSS_SHIELD_LIFE; + } + + const int getCorePattern(void) const { + return (coreLife + BOSS_CORE_LIFE - 1) / BOSS_CORE_LIFE; + } + + const int getCenterPosX(void) const { + return _TILEX * 8 + ImageHandler::OBJPIXEL_WIDTH_BOSS_CORE / 2; + } + + const int getCenterPosY(void) const { + return _TILEY * 8 + ImageHandler::OBJPIXEL_HEIGHT_BOSS_CORE / 2; + } + +private: + void succDamage(void) { + if (shieldLife > 0) { + --shieldLife; + drawShield(); + } else { + coreLife -= (coreLife > 0); + drawCore(); + } + } + + void drawCore(void) { + int corePattern = getCorePattern(); + if (displayedCorePattern == corePattern) { + return; + } + displayedCorePattern = corePattern; + + for (int i = 0; i < 2; ++i) { + ImageHandler::drawImage(_TILEX, _TILEY, + ImageResource::getTileIndex::value, + TILEINFO_bg_boss_core_1::w, + TILEINFO_bg_boss_core_1::h, + ImageHandler::BGCOLOR_BOSS_CORE_1 + corePattern, + _BGMAP_INDEX + i); + } + } + + void drawShield(void) { + int shieldNum = getShieldNum(); + if (displayedShieldNum == shieldNum) { + return; + } + displayedShieldNum = shieldNum; + + for (int i = 0; i < 2; ++i) { + const int tileIndex = ImageResource::getTileIndex::value + + (TILEINFO_bg_boss_shield::size / ImageHandler::BGTILE_BOSS_SHIELD_PATTERN) * shieldNum; + ImageHandler::drawImage(_TILEX, _TILEY + 1, + tileIndex, + TILEINFO_bg_boss_shield::w, + TILEINFO_bg_boss_shield::h / ImageHandler::BGTILE_BOSS_SHIELD_PATTERN, + ImageHandler::BGCOLOR_BOSS_SHIELD, + _BGMAP_INDEX + i); + } + } + + void makeBossHitEffect(int posx, int posy) const { + BulletInfo *bi = ListBullets::makeNewBullet(); + if (bi) { + posx += (FixedPointNum::random().getRawValue() & 0x7) - 4; + posy += (FixedPointNum::random().getRawValue() & 0x7) - 4; + bi->initialize(BULLET_TYPE_HIDDEN, posx, posy, 0, 0, StepFunc::effectHitStepFuncList); + } + } + + int shieldLife; + int coreLife; + int displayedShieldNum; + int displayedCorePattern; +}; + +#endif diff --git a/vulkanon/source/bullet.cpp b/vulkanon/source/bullet.cpp new file mode 100644 index 0000000..9cb0038 --- /dev/null +++ b/vulkanon/source/bullet.cpp @@ -0,0 +1,11 @@ +#include +#include "common.hpp" +#include "bullet.hpp" + +Stack ListBullets::freeInfoStack; + +BulletInfo ListBullets::bltinfo[MAXNUM]; +BulletInfo *ListBullets::firstNode = NULL; + +FixedPointNum SelfPos::posx; +FixedPointNum SelfPos::posy; diff --git a/vulkanon/source/bullet.hpp b/vulkanon/source/bullet.hpp new file mode 100644 index 0000000..2313b41 --- /dev/null +++ b/vulkanon/source/bullet.hpp @@ -0,0 +1,369 @@ +#ifndef BULLET_HPP +#define BULLET_HPP + +#include +#include +#include +#include "fixed.hpp" +#include "libstack.hpp" +#include "common.hpp" + +// define if you need strictly bulletml movement. +// #define STRICTLY_BULLETML + +class BulletInfo; + +typedef void (* BulletStepFunc)(BulletInfo *); +typedef BulletInfo *(* BulletGenerateFunc)(FixedPointNum, FixedPointNum); + +enum PixelSizeParams { + PIXELSIZE_BULLET = 8, + PIXELSIZE_SELF = 8, +}; + +// BulletType must be 2^x for (type & (BULLET_TYPE_NORMAL | BULLET_TYPE_EXPLODE)) +enum BulletType { + BULLET_TYPE_ROOT = (1 << 0), + BULLET_TYPE_NORMAL = (1 << 1), + BULLET_TYPE_EXPLODE = (1 << 2), + BULLET_TYPE_HIDDEN = (1 << 3), + + BULLET_TYPE_SUICIDE_TARGET_SELF_BULLET = (1 << 4), + BULLET_TYPE_SUICIDE_ORIGINAL_DIRECTION_BULLET = (1 << 5), + + BULLET_TYPE_BONUS = (1 << 6), +}; + + +class BulletInfo { +public: + enum Params { + DEFAULT_ANGLE = FixedPointNum::ANGLENUM * 3 / 4, + ANGLE_PATTERN_NUM = 16, + }; + + void step_doMove(void) { + if ((roundLife | accelLife) == 0) { + // use cache + posx += roundSpeed_or_motionX; + posy += accelSpeed_or_motionY; + } else { + posx += speed * FixedPointNum::cos(angle); + posy += speed * FixedPointNum::sin(angle); + + if (roundLife > 0) { + angle += roundSpeed_or_motionX; + if (isUnionAnglePattern()) { + setAnglePattern(); + } + --roundLife; + } + + if (accelLife > 0) { + speed += accelSpeed_or_motionY; + --accelLife; + } + + setMotionCache(); + } + } + void step_doStepFunc() { + wait -= (wait > 0); + while ((wait == 0) & (*stepFuncList != NULL)) { + (*stepFuncList)(this); + ++stepFuncList; + } + } + void adjustPosToFitScreen(void) { + int posxInt = posx.toInt(); + int posyInt = posy.toInt(); + + if (posxInt < 0) posx = 0; + if (posyInt < 0) posy = 0; + if (posxInt > Common::SCREEN_SIZE_X - PIXELSIZE_BULLET) + posx = Common::SCREEN_SIZE_X - PIXELSIZE_BULLET; + if (posyInt > Common::SCREEN_SIZE_Y - PIXELSIZE_BULLET) + posy = Common::SCREEN_SIZE_Y - PIXELSIZE_BULLET; + } + + void setRound(FixedPointNum roundSpeed, u16 _life) { + roundSpeed_or_motionX = roundSpeed; + roundLife = _life; + } + void setAccel(FixedPointNum accelSpeed, u16 _life) { + accelSpeed_or_motionY = accelSpeed; + accelLife = _life; + } + void setAngleAndSpped(FixedPointNum _angle, FixedPointNum _speed) { + angle = _angle; + speed = _speed; + setMotionCache(); + if (isUnionAnglePattern()) { + setAnglePattern(); + } + } + void setSpeed(FixedPointNum _speed) { + speed = _speed; + setMotionCache(); + } + + u8 getType(void) const { return type; } + void setType(int _type) { + type = _type; + if (isUnionAnglePattern()) { + setAnglePattern(); + } else { + counter = 0; + } + } + + u8 getLife(void) const { return life; } + void setLife(int _life) { life = _life; } + void decreaseLife(void) { life -= (life > 0); } + + bool isUnionAnglePattern(void) const { + if (type & (BULLET_TYPE_NORMAL | + BULLET_TYPE_SUICIDE_ORIGINAL_DIRECTION_BULLET | + BULLET_TYPE_SUICIDE_TARGET_SELF_BULLET)) { + return true; + } else { + return false; + } + } + u8 getCounter(void) const { return counter; } + void succCounter(u8 mask) { counter = (counter + 1) & mask; } + u8 getAnglePattern(void) const { return anglePattern; } + + FixedPointNum getPosX() const {return posx;} + FixedPointNum getPosY() const {return posy;} + + FixedPointNum getAngle(void) const {return angle;} + FixedPointNum getSpeed(void) const {return speed;} + + void initialize(u8 _type, + FixedPointNum _posx, FixedPointNum _posy, + FixedPointNum _angle, FixedPointNum _speed, + const BulletStepFunc *_stepFuncList) { + posx = _posx; + posy = _posy; + roundLife = 0; + accelLife = 0; + + angle = _angle; + speed = _speed; + + lastBulletAngle = _angle; + lastBulletSpeed = _speed; + + wait = 0; + stepFuncList = _stepFuncList; + + setType(_type); + setLife(0); + setMotionCacheCore(); + } + + void stop(void) { + //angle = 0; + speed = 0; + roundSpeed_or_motionX = 0; + roundLife = 0; + accelSpeed_or_motionY = 0; + accelLife = 0; + } + + // for ListBullets + BulletInfo* prevNode; + BulletInfo* nextNode; + + /// for stepFunc + const BulletStepFunc *stepFuncList; + + u16 wait; + FixedPointNum lastBulletAngle; + FixedPointNum lastBulletSpeed; + +private: + FixedPointNum posx; + FixedPointNum posy; + + /// for uniform motion + FixedPointNum angle; + FixedPointNum speed; + + /// for uniform circlar motion + FixedPointNum roundSpeed_or_motionX; + u16 roundLife; + + /// for uniform accelerated motion + FixedPointNum accelSpeed_or_motionY; + u8 accelLife; + + u8 type; ///< bullet_type + union { + u8 counter; + u8 anglePattern; + }; + u8 life; + + void setMotionCache(void) { + // if roundLife == 0 && accelLife == 0, then set cache. + if ((roundLife | accelLife) == 0) { + setMotionCacheCore(); + } + } + + void setMotionCacheCore(void) { + roundSpeed_or_motionX = speed * FixedPointNum::cos(angle); + accelSpeed_or_motionY = speed * FixedPointNum::sin(angle); + } + + void setAnglePattern(void) { + const int range = FixedPointNum::ANGLENUM / ANGLE_PATTERN_NUM; + anglePattern = (static_cast(angle.toInt() + range / 2) & (FixedPointNum::ANGLENUM - 1)) / ANGLE_PATTERN_NUM; + } +}; + + +class SelfPos { +public: + static void setPos(FixedPointNum x, FixedPointNum y) { + posx = x; + posy = y; + } + + static void move(FixedPointNum x, FixedPointNum y) { + posx += x; + posy += y; + + if (posx < 0) { + posx = 0; + } + if (posx > FixedPointNum(Common::SCREEN_SIZE_X - PIXELSIZE_SELF)) { + posx = Common::SCREEN_SIZE_X - PIXELSIZE_SELF; + } + + if (posy < 0) { + posy = 0; + } + if (posy > FixedPointNum(Common::SCREEN_SIZE_Y - PIXELSIZE_SELF)) { + posy = Common::SCREEN_SIZE_Y - PIXELSIZE_SELF; + } + } + + static FixedPointNum getAngle(BulletInfo *p) { + return FixedPointNum::atan(posy - p->getPosY(), posx - p->getPosX()); + } + + static FixedPointNum posx; + static FixedPointNum posy; +}; + +#include "stepfunc.hpp" + +class ListBullets { +public: + enum Params { + MAXNUM = 512, + }; + static Stack freeInfoStack; + + static BulletInfo bltinfo[MAXNUM]; + static BulletInfo *firstNode; + + static void initialize(void) { + freeInfoStack.initialize(); + for (int i = 0; i < MAXNUM; ++i) { + freeInfoStack.push(bltinfo + i); + } + + memset(bltinfo, 0, sizeof(bltinfo)); + firstNode = NULL; + } + + static BulletInfo *getFirstItem(void) { + return firstNode; + } + + static BulletInfo *iterator(BulletInfo *p) { + return p->nextNode; + } + + static BulletInfo *makeNewBullet(void) { + BulletInfo *p = getNewItemFromStack(); + if (p == NULL) { + return NULL; + } + + // ------------------------------------------------------------ + // unshift to nodelist + p->prevNode = NULL; + p->nextNode = firstNode; + if (firstNode != NULL) { + firstNode->prevNode = p; + } + firstNode = p; + + return p; + } + static void stepFuncDrop(BulletInfo *p) { + pushToFreeInfoStack(p); + + if (p->prevNode == NULL) { + firstNode = p->nextNode; + } else { + p->prevNode->nextNode = p->nextNode; + } + if (p->nextNode != NULL) { + p->nextNode->prevNode = p->prevNode; + } + + p->stepFuncList = StepFunc::nullStepFuncList; + } + + static void doStep(void) { + for (BulletInfo *p = getFirstItem(); p != NULL; p = iterator(p)) { + p->step_doMove(); + + // check pos valid. + { + int posxInt = (p->getPosX()).toInt(); + int posyInt = (p->getPosY()).toInt(); + + bool posXValid = static_cast(posxInt + PIXELSIZE_BULLET) < (Common::SCREEN_SIZE_X + PIXELSIZE_BULLET); + bool posYValid = static_cast(posyInt + PIXELSIZE_BULLET) < (Common::SCREEN_SIZE_Y + PIXELSIZE_BULLET); + + if ((posXValid & posYValid) == 0) { +#ifdef STRICTLY_BULLETML + if (p->getType() & (BULLET_TYPE_ROOT | BULLET_TYPE_EXPLODE | BULLET_TYPE_HIDDEN)) { + p->adjustPosToFitScreen(); + } else { + ListBullets::stepFuncDrop(p); + continue; + } +#else + ListBullets::stepFuncDrop(p); + continue; +#endif + } + } + + p->step_doStepFunc(); + } + } + +private: + static void pushToFreeInfoStack(BulletInfo *p) { + freeInfoStack.push(p); + } + static BulletInfo *getNewItemFromStack(void) { + if (freeInfoStack.isEmpty()) { + return NULL; + } else { + return freeInfoStack.pop(); + } + } +}; + + +#endif diff --git a/vulkanon/source/common.hpp b/vulkanon/source/common.hpp new file mode 100644 index 0000000..02922bd --- /dev/null +++ b/vulkanon/source/common.hpp @@ -0,0 +1,29 @@ +#ifndef COMMON_HPP +#define COMMON_HPP + +#include +#include +#include + +class Common { +public: + enum Params { + NUM_SPRITE = 128, + SCREEN_SIZE_X = 240, + SCREEN_SIZE_Y = 160, + }; + + static void irqFuncDummy(void) {} + + static void initializeSprites(void) { + u32 i; + + for (i = 0; i < NUM_SPRITE; ++i) { + OAM[i].attr0 = SCREEN_SIZE_Y; //y to > 159 + OAM[i].attr1 = SCREEN_SIZE_X; //x to > 239 + OAM[i].attr2 = 0; + } + } +}; + +#endif diff --git a/vulkanon/source/demoplaysavedata.c b/vulkanon/source/demoplaysavedata.c new file mode 120000 index 0000000..784880a --- /dev/null +++ b/vulkanon/source/demoplaysavedata.c @@ -0,0 +1 @@ +../demoplay/code/demoplaysavedata.c \ No newline at end of file diff --git a/vulkanon/source/demoplaysavedata.h b/vulkanon/source/demoplaysavedata.h new file mode 120000 index 0000000..a0a7d7b --- /dev/null +++ b/vulkanon/source/demoplaysavedata.h @@ -0,0 +1 @@ +../demoplay/code/demoplaysavedata.h \ No newline at end of file diff --git a/vulkanon/source/effect.hpp b/vulkanon/source/effect.hpp new file mode 100644 index 0000000..acd59d4 --- /dev/null +++ b/vulkanon/source/effect.hpp @@ -0,0 +1,55 @@ +#ifndef EFFECT_HPP +#define EFFECT_HPP + +#include "common.hpp" + +template +class Effect { +public: + enum Params { + EFFECT_TIME_MAX = _EFFECT_FRAMES_PER_PATTERN * _PATTERN_SIZE, + }; + + void initialize(void) { + time = 0; + } + + void setup(int _posx, int _posy) { + posx = _posx; + posy = _posy; + time = EFFECT_TIME_MAX; + } + + void step(void) { + if (time > 0) { + --time; + OBJATTR * const p = OAM + _OAM_INDEX; + if (time == 0) { + // erase effect + p->attr0 = Common::SCREEN_SIZE_Y; + } else { + int spendTime = EFFECT_TIME_MAX - time; + int pattern = _OBJTILE_INDEX + (spendTime / _EFFECT_FRAMES_PER_PATTERN) * _OBJTILE_SIZE; + + p->attr0 = (posy & 0xff) | _SPRITE_SHAPE; + p->attr1 = (posx & 0x1ff) | _SPRITE_SIZE; + p->attr2 = OBJ_PRIORITY(_OBJ_PRIORITY) | OBJ_PALETTE(_OBJ_PALETTE) | pattern; + } + } + } + + bool isAlive(void) const { return time > 0; } + int getWidth(void) const { return _WIDTH; } + int getHeight(void) const { return _HEIGHT; } + bool isFirstFrame(void) const { return time == EFFECT_TIME_MAX; } + +private: + int posx; + int posy; + int time; +}; + +#endif diff --git a/vulkanon/source/fixed.cpp b/vulkanon/source/fixed.cpp new file mode 120000 index 0000000..df24923 --- /dev/null +++ b/vulkanon/source/fixed.cpp @@ -0,0 +1 @@ +../../libfixed/src/fixed.cpp \ No newline at end of file diff --git a/vulkanon/source/fixed.hpp b/vulkanon/source/fixed.hpp new file mode 120000 index 0000000..89b7820 --- /dev/null +++ b/vulkanon/source/fixed.hpp @@ -0,0 +1 @@ +../../libfixed/src/fixed.hpp \ No newline at end of file diff --git a/vulkanon/source/fixed_table.cpp b/vulkanon/source/fixed_table.cpp new file mode 120000 index 0000000..a0e340b --- /dev/null +++ b/vulkanon/source/fixed_table.cpp @@ -0,0 +1 @@ +../../libfixed/src/fixed_table.cpp \ No newline at end of file diff --git a/vulkanon/source/fontdata.hpp b/vulkanon/source/fontdata.hpp new file mode 120000 index 0000000..ead07a3 --- /dev/null +++ b/vulkanon/source/fontdata.hpp @@ -0,0 +1 @@ +../../libfont/source/fontdata.hpp \ No newline at end of file diff --git a/vulkanon/source/fonthandler.cpp b/vulkanon/source/fonthandler.cpp new file mode 120000 index 0000000..d5ecf9a --- /dev/null +++ b/vulkanon/source/fonthandler.cpp @@ -0,0 +1 @@ +../../libfont/source/fonthandler.cpp \ No newline at end of file diff --git a/vulkanon/source/fonthandler.hpp b/vulkanon/source/fonthandler.hpp new file mode 120000 index 0000000..69439bd --- /dev/null +++ b/vulkanon/source/fonthandler.hpp @@ -0,0 +1 @@ +../../libfont/source/fonthandler.hpp \ No newline at end of file diff --git a/vulkanon/source/gameengine.cpp b/vulkanon/source/gameengine.cpp new file mode 100644 index 0000000..775cb44 --- /dev/null +++ b/vulkanon/source/gameengine.cpp @@ -0,0 +1,528 @@ +#include +#include +#include +#include +#include + +#include "common.hpp" +#include "gameengine.hpp" +#include "spritedoubler.hpp" +#include "bullet.hpp" +#include "fixed.hpp" +#include "self.hpp" + +#include "barragelist.hpp" + +PlayTime GameEngine::playTime; +int GameEngine::score; +bool GameEngine::isExitLoop; +ListShot GameEngine::listShot; + +int GameEngine::suicideBulletCounter; +int GameEngine::barrageIndex; +int GameEngine::waitAfterGenerate; +bool GameEngine::isRootBulletExist; +bool GameEngine::bossEnabled; +const BarrageInfo * const *GameEngine::listBarrage; +const BarrageInfo * const *GameEngine::listBarrage_base; + +EWRAM_DATA Replay GameEngine::replay; +bool GameEngine::isViewReplay; + +EWRAM_DATA MenuTitle GameEngine::menuTitle; +EWRAM_DATA MenuReplayList GameEngine::menuReplayList; +EWRAM_DATA MenuCredits GameEngine::menuCredits; + +bool GameEngine::soundShotHitFlag; +bool GameEngine::soundLaserFlag; +bool GameEngine::soundExplodeBossShieldFlag; + +void +GameEngine::loop_initialize(void) +{ + // GBAKey reset for KeyLog + GBAKey::initialize(); + + Common::initializeSprites(); + SpriteDoubler::initialize(); + + ListBullets::initialize(); + + SelfPos::setPos(120 - ImageHandler::OBJPIXEL_WIDTH_SELF / 2, + 120 - ImageHandler::OBJPIXEL_HEIGHT_SELF / 2); + + ImageHandler::clearBGMAP(ImageHandler::BGMAP_INDEX_GAME_STATUS); + ImageHandler::clearBGMAP(ImageHandler::BGMAP_INDEX_GAME_HORIZONTAL_LASER); + ImageHandler::clearBGMAP(ImageHandler::BGMAP_INDEX_GAME_BOSS); + ImageHandler::clearBGMAP(ImageHandler::BGMAP_INDEX_GAME_BOSS_2); + ImageHandler::drawBGStatus(); + if (isViewReplay) { + ImageHandler::drawBGReplay(); + } + + Self::initialize(); + GameParams::bossBody.initialize(); + GameParams::bossCore.initialize(); + GameParams::horizontalLaser.initialize(); + + playTime.initialize(); + score = 0; + listShot.initialize(); + + suicideBulletCounter = 0; + barrageIndex = 0; + waitAfterGenerate = 0; + isRootBulletExist = false; + bossEnabled = false; + listBarrage = listBarrage_base; + + // ------------------------------------------------------------ + SetMode(MODE_0 | BG0_ON | BG1_ON | BG2_ON | BG3_ON | OBJ_ENABLE | OBJ_1D_MAP | BIT(5)); + // status image + REG_BG0CNT = BG_SIZE_0 | BG_PRIORITY(0) | BG_16_COLOR | + CHAR_BASE(ImageHandler::BGBASEADDR) | SCREEN_BASE(ImageHandler::BGMAP_INDEX_GAME_STATUS); + // horizontal laser + REG_BG1CNT = BG_SIZE_0 | BG_PRIORITY(0) | BG_16_COLOR | + CHAR_BASE(ImageHandler::BGBASEADDR) | SCREEN_BASE(ImageHandler::BGMAP_INDEX_GAME_HORIZONTAL_LASER); + // boss + REG_BG2CNT = BG_SIZE_1 | BG_PRIORITY(3) | BG_16_COLOR | + CHAR_BASE(ImageHandler::BGBASEADDR) | SCREEN_BASE(ImageHandler::BGMAP_INDEX_GAME_BOSS); + // background image + REG_BG3CNT = BG_SIZE_0 | BG_PRIORITY(3) | BG_16_COLOR | + CHAR_BASE(ImageHandler::BGBASEADDR) | SCREEN_BASE(ImageHandler::BGMAP_INDEX_BG); + + BG0HOFS = 0; + BG1HOFS = 0; + BG2HOFS = 0; + BG3HOFS = 0; + + BG0VOFS = 0; + BG1VOFS = 0; + BG2VOFS = 0; + BG3VOFS = 0; + + SetInterrupt(IE_VBL, irq_vblank); + SetInterrupt(IE_VCNT, SpriteDoubler::irq_vcount); + + REG_DISPSTAT = (REG_DISPSTAT & 0xff) | VCOUNT(Common::SCREEN_SIZE_Y); + + EnableInterrupt(IE_VBL); + EnableInterrupt(IE_VCNT); +} + +void +GameEngine::loop_terminate() +{ + DisableInterrupt(IE_VCNT); + DisableInterrupt(IE_VBL); +} + +void +GameEngine::doLoop() +{ + loop_initialize(); + SoundHandler::playMusic(SoundResource::MUSIC_GAME); + SoundHandler::stopSE(); + + isExitLoop = false; + VBlankIntrWait(); + SpriteDoubler::resetFrameSkipCount(); + + bool gameCanceled = false; + + for (;;) { + // ------------------------------------------------------------ + isRootBulletExist = false; + soundShotHitFlag = false; + soundLaserFlag = false; + soundExplodeBossShieldFlag = false; + + u16 pressKeyBit = GBAKey::getPressKeyBit_REG_KEYINPUT(); + u16 keysDown; + u16 keysHeld; + + if (isViewReplay) { + u16 replayKeyBit = replay.keyLog.shift(); + GBAKey::scanKeys(replayKeyBit); + + keysDown = GBAKey::getKeysDown(); + keysHeld = GBAKey::getKeysHeld(); + + if ((pressKeyBit & (KEY_START | KEY_SELECT | KEY_B)) != 0) { + isExitLoop = true; + gameCanceled = true; + } + } else { + replay.keyLog.push(pressKeyBit); + GBAKey::scanKeys(pressKeyBit); + + keysDown = GBAKey::getKeysDown(); + keysHeld = GBAKey::getKeysHeld(); + + if ((keysDown & KEY_SELECT) != 0) { + isExitLoop = true; + gameCanceled = true; + } + } + + Self::step(keysHeld); + + if (keysDown & (KEY_R | KEY_L)) { + soundLaserFlag = GameParams::horizontalLaser.fire(); + } + + listShot.setAutoFireFlag(false); + if ((keysDown | keysHeld) & (KEY_A | KEY_B)) { + if (! Self::isNoFireTime()) { + listShot.setAutoFireFlag(true); + } + } + + // ------------------------------------------------------------ + isExitLoop |= (! GameParams::bossCore.isAlive()); + if (GameParams::bossBody.isBossEnabled() & (SelfPos::posy.toInt() < 32)) { + Self::miss(); + } + + ListBullets::doStep(); + + int listShotMinPosX; + int listShotMaxPosX; + listShot.step(&listShotMinPosX, &listShotMaxPosX); + listShotMinPosX -= ImageHandler::OBJPIXEL_WIDTH_BULLET; + listShotMaxPosX += ImageHandler::OBJPIXEL_WIDTH_SHOT; + + drawBulletsAndHitCheck(listShotMinPosX, listShotMaxPosX); + fireBarrage(); + + if (bossEnabled) { + GameParams::bossBody.step(); + } + + GameParams::horizontalLaser.step(); + if (GameParams::horizontalLaser.isFire()) { + laserHitCheck(); + } + + // time count + if (playTime.getMin() >= 3) { + isExitLoop = true; + } else { + playTime.succFrame(); + } + + // adjust waitAfterGenerate + if ((! isRootBulletExist) & (waitAfterGenerate > 60)) { + waitAfterGenerate = 60; + } + + drawPlayTime(); + drawScore(); +#if 0 + drawBulletsNum(); + drawFrameDropCount(); +#endif + + SpriteDoubler::setCompileDone(); + + // ---------------------------------------- + playSE(); + + VBlankIntrWait(); + + if (isExitLoop) { + break; + } + } + + loop_terminate(); + if (! gameCanceled) { + if (! GameParams::bossCore.isAlive()) { + showBossDestroy(); + } + showResult(); + } +} + +void +GameEngine::laserHitCheck(void) +{ + for (BulletInfo *bi = ListBullets::getFirstItem(); bi != NULL; bi = ListBullets::iterator(bi)) { + const int type = BULLET_TYPE_NORMAL | + BULLET_TYPE_HIDDEN | + BULLET_TYPE_SUICIDE_TARGET_SELF_BULLET | + BULLET_TYPE_SUICIDE_ORIGINAL_DIRECTION_BULLET; + + if (((bi->getType() & type) != 0) & + (static_cast(bi->getPosY().toInt() - GameParams::horizontalLaser.getPosY()) < 8)) { + if (bi->getType() & (BULLET_TYPE_HIDDEN | + BULLET_TYPE_SUICIDE_TARGET_SELF_BULLET | + BULLET_TYPE_SUICIDE_ORIGINAL_DIRECTION_BULLET)) { + bi->stepFuncList = StepFunc::effectBonusStepFuncList; + score += 4; + } else { + bi->stepFuncList = StepFunc::explodeWithTargetSelfStepFuncList; + score += 1; + } + bi->wait = 0; + } + } +} + +void +GameEngine::drawBulletsAndHitCheck(int listShotMinPosX, int listShotMaxPosX) +{ + SpriteDoubler::CompiledObjattr *p = SpriteDoubler::getIncurrentCompiledObjattr(); + p->initializePerFrame(); + + for (BulletInfo *bi = ListBullets::getFirstItem(); bi != NULL; bi = ListBullets::iterator(bi)) { + if (bi->getType() == BULLET_TYPE_HIDDEN) { + continue; + } + p->registItemNumInBlock(bi->getPosY().toInt()); + } + p->normalizeItemNumInBlock(); + p->makeObjAttrStartPosInBlock(); + + // ------------------------------------------------------------ + for (BulletInfo *bi = ListBullets::getFirstItem(); bi != NULL; bi = ListBullets::iterator(bi)) { + drawBullet(p, bi, listShotMinPosX, listShotMaxPosX); + } + p->calcIRQInfo(); + + // store shieldNum before bossCore.hitCheck. + int shieldNum = GameParams::bossCore.getShieldNum(); + + for (int i = 0; i < GameParams::MAX_SHOT; ++i) { + if (! listShot.isEnable(i)) { + continue; + } + + ShotInfo *s = listShot.getShot(i); + bossHitCheck_and_Drop(s); + } + + if (shieldNum != GameParams::bossCore.getShieldNum()) { + bossShieldDestroyed(); + } +} + +void +GameEngine::bossShieldDestroyed(void) +{ + int waitTime = 0; + for (BulletInfo *bi = ListBullets::getFirstItem(); bi != NULL; bi = ListBullets::iterator(bi)) { + bi->stepFuncList = StepFunc::effectHitStepFuncList; + bi->wait = (waitTime & 0x3); + ++waitTime; + score += 1; + } + score += 10000; + GameParams::bossBody.setVibrateEffect(); + succListBarrage(); + + soundExplodeBossShieldFlag = true; +} + + +const BarrageInfo * +GameEngine::getCurrentBullet(void) +{ + return *listBarrage + barrageIndex; +} + +const BarrageInfo * +GameEngine::getNextBullet(void) +{ + ++barrageIndex; + if ((*listBarrage)[barrageIndex].type == END_OF_ACTIONTYPE) { + barrageIndex = 0; + } + return getCurrentBullet(); +} + + +void +GameEngine::showBossDestroy() +{ + score += 20000; + + BG0HOFS = 0; + BG1HOFS = 0; + BG2HOFS = 0; + BG3HOFS = 0; + + BG0VOFS = 0; + BG1VOFS = 0; + BG2VOFS = 0; + BG3VOFS = 0; + + SetInterrupt(IE_VBL, SoundHandler::irq_vblank); + EnableInterrupt(IE_VBL); + + SoundHandler::playSE(SoundResource::SE_BOSS_DESTROY_VIBRATION); + + // -------------------------------------------------- + // vibration + Common::initializeSprites(); + drawPlayTime(); + drawScore(); + + for (int i = 0; i < 2; ++i) { + GameParams::bossBody.setVibrateEffect(); + while (GameParams::bossBody.isVibrateEffect()) { + GBAKey::scanKeys(); + u16 keysHeld = GBAKey::getKeysHeld(); + Self::step(keysHeld); + GameParams::bossBody.step(); + VBlankIntrWait(); + } + } + + // -------------------------------------------------- + // explode + SoundHandler::playSE(SoundResource::SE_BOSS_DESTROY_EXPLODE); + + ImageHandler::clearBGMAP(ImageHandler::BGMAP_INDEX_GAME_BOSS); + GameParams::bossBody.step(); + GameParams::EffectExplode explode; + explode.initialize(); + explode.setup(GameParams::bossCore.getCenterPosX() - explode.getWidth() / 2, + GameParams::bossCore.getCenterPosY() - explode.getHeight() / 2); + while (explode.isAlive()) { + GBAKey::scanKeys(); + u16 keysHeld = GBAKey::getKeysHeld(); + Self::step(keysHeld); + explode.step(); + VBlankIntrWait(); + } + + DisableInterrupt(IE_VBL); +} + +void +GameEngine::showResult() +{ + Replay::ReplayType type = Replay::REPLAY_TYPE_NONE; + if (! isViewReplay) { + type = replay.saveToSRAM(); + } + + SetInterrupt(IE_VBL, SoundHandler::irq_vblank); + EnableInterrupt(IE_VBL); + + SoundHandler::stopMusic(); + + // -------------------------------------------------- + ImageHandler::drawBGResultBorder(); + ImageHandler::drawBGResultPressStart(); + + if (type == Replay::REPLAY_TYPE_NONE) { + if (GameParams::bossCore.isAlive()) { + ImageHandler::drawBGResultTimeOver(); + } else { + ImageHandler::drawBGResultClear(); + } + } else if (Replay::getReplayTypeMode(type) == Replay::REPLAY_TYPE_MODE_BESTSCORE) { + ImageHandler::drawBGResultBestScore(); + ImageHandler::drawBGResultReplaySaved(); + } + + int soundWait = 60; + for (;;) { + GBAKey::scanKeys(); + + u16 keysDown = GBAKey::getKeysDown(); + if (keysDown & (KEY_START | KEY_SELECT)) { + break; + } + + if (soundWait > 0) { + --soundWait; + if (soundWait == 0) { + SoundHandler::playMusic(SoundResource::MUSIC_RESULT); + } + } + + VBlankIntrWait(); + } + + DisableInterrupt(IE_VBL); +} + + +void +GameEngine::doMainMenu(void) +{ + menuTitle.resetPos(); + + for (;;) { + menuTitle.doLoop(); + + switch (menuTitle.getGameMode()) { + case MenuTitle::GAMEMODE_PLAY_LEVEL0: + case MenuTitle::GAMEMODE_PLAY_LEVEL1: + case MenuTitle::GAMEMODE_PLAY_LEVEL2: + case MenuTitle::GAMEMODE_PLAY_LEVEL3: + isViewReplay = false; + + if (menuTitle.getGameMode() == MenuTitle::GAMEMODE_PLAY_LEVEL0) { + listBarrage_base = listBarrage_L0_all; + replay.initializeToSave(Replay::REPLAY_TYPE_LEVEL_0); + } else if (menuTitle.getGameMode() == MenuTitle::GAMEMODE_PLAY_LEVEL1) { + listBarrage_base = listBarrage_L1_all; + replay.initializeToSave(Replay::REPLAY_TYPE_LEVEL_1); + } else if (menuTitle.getGameMode() == MenuTitle::GAMEMODE_PLAY_LEVEL2) { + listBarrage_base = listBarrage_L2_all; + replay.initializeToSave(Replay::REPLAY_TYPE_LEVEL_2); + } else { + listBarrage_base = listBarrage_L3_all; + replay.initializeToSave(Replay::REPLAY_TYPE_LEVEL_3); + } + + doLoop(); + break; + + case MenuTitle::GAMEMODE_VIEW_REPLAY: + menuReplayList.resetPos(); + + for (;;) { + if (! menuReplayList.doLoop()) { + break; + } + + isViewReplay = true; + + const MenuReplayList::Line *p = menuReplayList.getSelectedLine(); + SRAMFileSystem::FilePtr ptr; + if (p->isDemoPlay) { + Replay::getSavedReplay(&ptr, MainInfo::sramFS_DemoPlayData, (p->replayHeader).getType()); + } else { + Replay::getSavedReplay(&ptr, MainInfo::sramFS_SRAM, (p->replayHeader).getType()); + } + replay.loadFromSRAM(&ptr); + + Replay::ReplayTypeLevel level = Replay::getReplayTypeLevel(p->replayHeader.getType()); + if (level == Replay::REPLAY_TYPE_LEVEL_0) { + listBarrage_base = listBarrage_L0_all; + } else if (level == Replay::REPLAY_TYPE_LEVEL_1) { + listBarrage_base = listBarrage_L1_all; + } else if (level == Replay::REPLAY_TYPE_LEVEL_2) { + listBarrage_base = listBarrage_L2_all; + } else { + listBarrage_base = listBarrage_L3_all; + } + + doLoop(); + } + break; + + case MenuTitle::GAMEMODE_CREDITS: + menuCredits.doLoop(); + break; + + default: + break; + } + } +} diff --git a/vulkanon/source/gameengine.hpp b/vulkanon/source/gameengine.hpp new file mode 100644 index 0000000..cc4cd66 --- /dev/null +++ b/vulkanon/source/gameengine.hpp @@ -0,0 +1,338 @@ +#ifndef GAMEENGINE_HPP +#define GAMEENGINE_HPP + +#include "gameparams.hpp" + +#include "barrageinfo.hpp" +#include "bullet.hpp" +#include "imagehandler.hpp" +#include "soundhandler.hpp" +#include "spritedoubler.hpp" +#include "main.hpp" + +#include "libgbakey.hpp" +#include "libplaytime.hpp" +#include "libkeylog.hpp" +#include "stepfunc.hpp" +#include "bosscore.hpp" +#include "bossbody.hpp" +#include "effect.hpp" +#include "replay.hpp" +#include "menu_title.hpp" +#include "menu_replaylist.hpp" +#include "menu_credits.hpp" +#include "shot.hpp" + +class GameEngine { +public: + static void doMainMenu(void); + static int getScore(void) { return score; } + static const PlayTime &getPlayTime(void) { return playTime; } + +private: + // ------------------------------------------------------------ + static void drawBulletsNum(void) { + ImageHandler::drawOpacityNumber<3>(5, 1, + ListBullets::MAXNUM - ListBullets::freeInfoStack.getSize(), + ImageHandler::BGCOLOR_FONT_WHITE); + } + + static void drawScore(void) { + ImageHandler::drawOpacityNumber<5>(13, 0, score, ImageHandler::BGCOLOR_FONT_WHITE); + ImageHandler::drawOpacityNumber<1>(19, 0, Self::getMissCount(), ImageHandler::BGCOLOR_FONT_WHITE); + } + + static void drawPlayTime(void) { + ImageHandler::drawOpacityNumber<1>(23, 0, playTime.getMin(), ImageHandler::BGCOLOR_FONT_WHITE); + ImageHandler::drawOpacityNumber<2>(25, 0, playTime.getSec(), ImageHandler::BGCOLOR_FONT_WHITE); + ImageHandler::drawOpacityNumber<2>(28, 0, playTime.getMilliSec(), ImageHandler::BGCOLOR_FONT_WHITE); + } + + static void drawFrameDropCount() { + // draw frameSkip for debug + ImageHandler::drawOpacityNumber<3>(0, 1, SpriteDoubler::getFrameSkipCount(), ImageHandler::BGCOLOR_FONT_WHITE); + } + + static void drawBullet(SpriteDoubler::CompiledObjattr *p, BulletInfo *bi, int listShotMinPosX, int listShotMaxPosX) { + switch (bi->getType()) { + case BULLET_TYPE_NORMAL: + p->registObjAttr(bi->getPosY().toInt(), bi->getPosX().toInt(), OBJ_PALETTE(ImageHandler::OBJCOLOR_BULLET) | + OBJ_PRIORITY(GameParams::OBJ_PRIORITY_SPRITE) | + (ImageResource::getTileIndex::value + bi->getAnglePattern())); + Self::hitCheck(bi); + shotHitCheck(bi, listShotMinPosX, listShotMaxPosX); + break; + + case BULLET_TYPE_SUICIDE_ORIGINAL_DIRECTION_BULLET: + p->registObjAttr(bi->getPosY().toInt(), bi->getPosX().toInt(), + OBJ_PALETTE(ImageHandler::OBJCOLOR_SUICIDE_BULLET_ORIGINAL_DIRECTION) | + OBJ_PRIORITY(GameParams::OBJ_PRIORITY_SPRITE) | + ImageResource::getTileIndex::value + bi->getAnglePattern()); + Self::hitCheck(bi); + break; + + case BULLET_TYPE_SUICIDE_TARGET_SELF_BULLET: + p->registObjAttr(bi->getPosY().toInt(), bi->getPosX().toInt(), OBJ_PALETTE(ImageHandler::OBJCOLOR_SUICIDE_BULLET_TARGET_SELF) | + OBJ_PRIORITY(GameParams::OBJ_PRIORITY_SPRITE) | + ImageResource::getTileIndex::value + bi->getAnglePattern()); + Self::hitCheck(bi); + break; + + case BULLET_TYPE_EXPLODE: + p->registObjAttr(bi->getPosY().toInt(), bi->getPosX().toInt(), OBJ_PALETTE(ImageHandler::OBJCOLOR_EXPLODE) | + OBJ_PRIORITY(GameParams::OBJ_PRIORITY_SPRITE) | + ImageResource::getTileIndex::value + bi->getCounter()); + bi->succCounter(ImageHandler::OBJTILE_EXPLODE_PATTERN - 1); + break; + + case BULLET_TYPE_BONUS: + p->registObjAttr(bi->getPosY().toInt(), bi->getPosX().toInt(), OBJ_PALETTE(ImageHandler::OBJCOLOR_BONUS) | + OBJ_PRIORITY(GameParams::OBJ_PRIORITY_SPRITE) | + ImageResource::getTileIndex::value + bi->getCounter()); + bi->succCounter(ImageHandler::OBJTILE_BONUS_PATTERN - 1); + break; + + case BULLET_TYPE_ROOT: + p->registObjAttr(bi->getPosY().toInt(), bi->getPosX().toInt(), OBJ_PALETTE(ImageHandler::OBJCOLOR_ROOT_BULLET) | + OBJ_PRIORITY(GameParams::OBJ_PRIORITY_SPRITE) | + ImageResource::getTileIndex::value + bi->getCounter()); + bi->succCounter(ImageHandler::OBJTILE_ROOT_BULLET_PATTERN - 1); + shotHitCheck(bi, listShotMinPosX, listShotMaxPosX); + isRootBulletExist = true; + break; + + default: + break; + } + } + + // ------------------------------------------------------------ + static void fireBarrage(void) { + if (waitAfterGenerate > 0) { + --waitAfterGenerate; + } else { + const BarrageInfo *barrageInfo = getCurrentBullet(); + + if (barrageInfo->type == ACTIONTYPE_WAIT) { + waitAfterGenerate = barrageInfo->num; + + } else if (barrageInfo->type == ACTIONTYPE_BULLET_NORMAL) { + BulletInfo *bi = (barrageInfo->func)(barrageInfo->x, barrageInfo->y); + if (bi == NULL) { + return; + } + bi->setLife(barrageInfo->life); + + } else if (barrageInfo->type == ACTIONTYPE_BOSS_ENABLE) { + bossEnabled = true; + succListBarrage(); + return; + } + + getNextBullet(); + } + } + static const BarrageInfo *getCurrentBullet(void); + static const BarrageInfo *getNextBullet(void); + static void succListBarrage(void) { + waitAfterGenerate = 0; + barrageIndex = 0; + ++listBarrage; + if (*listBarrage == NULL) { + listBarrage = listBarrage_base + 0; + } + } + + static void bossHitCheck_and_Drop(ShotInfo *s) { + if (s->getLife() <= 0) { + listShot.dropShot(s); + } else { + int y = s->getPosY(); + if (! GameParams::bossBody.isBossEnabled()) { + if (y < 0) { + listShot.dropShot(s); + } + } else { + const int maxY = 32; + if (y < maxY) { + const int shotCenter = s->getPosX() + (ImageHandler::OBJPIXEL_WIDTH_SHOT / 2); + listShot.dropShot(s); + + if (GameParams::bossCore.hitCheck(shotCenter)) { + soundShotHitFlag = true; + GameParams::bossBody.setDamageEffect(); + } + } + } + } + } + + static void rootBulletExplodeEffect(FixedPointNum posX, FixedPointNum posY) { + int distance = 2; + BulletInfo *p; + + p = ListBullets::makeNewBullet(); + if (p) { + p->initialize(BULLET_TYPE_BONUS, posX - distance, posY - distance, 0, 0, StepFunc::effectBonusStepFuncList); + } + p = ListBullets::makeNewBullet(); + if (p) { + p->initialize(BULLET_TYPE_BONUS, posX + distance, posY - distance, 0, 0, StepFunc::effectBonusStepFuncList); + } + p = ListBullets::makeNewBullet(); + if (p) { + p->initialize(BULLET_TYPE_BONUS, posX - distance, posY + distance, 0, 0, StepFunc::effectBonusStepFuncList); + } + p = ListBullets::makeNewBullet(); + if (p) { + p->initialize(BULLET_TYPE_BONUS, posX + distance, posY + distance, 0, 0, StepFunc::effectBonusStepFuncList); + } + } + + template + static void shotHitCheck(BulletInfo *bi, int minX, int maxX) { + const int x = bi->getPosX().toInt(); + + if ((minX > x) | (maxX < x)) { + return; + } + + const int y = bi->getPosY().toInt(); + + for (int i = 0; i < GameParams::MAX_SHOT; ++i) { + ShotInfo *s = listShot.getShot(i); + if (! listShot.isEnable(i)) { + continue; + } + const int maxX = s->getPosX() + ImageHandler::OBJPIXEL_WIDTH_SHOT; + const int minX = s->getPosX() - ImageHandler::OBJPIXEL_WIDTH_BULLET; + + const int maxY = s->getPosY() + ImageHandler::OBJPIXEL_HEIGHT_SHOT; + const int minY = s->getPosY() - ImageHandler::OBJPIXEL_HEIGHT_BULLET; + + if ((static_cast(x - minX) < static_cast(maxX - minX)) & + (static_cast(y - minY) < static_cast(maxY - minY))) { + + if (BULLETTYPE == BULLET_TYPE_NORMAL) { + s->decreaseLife(1); + score += 1; + + ++suicideBulletCounter; + if (suicideBulletCounter & 0x3) { + bi->stepFuncList = StepFunc::explodeWithOriginalDirectionStepFuncList; + } else { + bi->stepFuncList = StepFunc::explodeWithTargetSelfStepFuncList; + }; + bi->wait = 0; + GameParams::horizontalLaser.succ(); + } + + if (BULLETTYPE == BULLET_TYPE_ROOT) { + s->decreaseLife(ShotInfo::SHOT_LIFE); + score += 2; + + bi->decreaseLife(); + if (bi->getLife() == 0) { + score += 100; + bi->stepFuncList = StepFunc::effectBonusStepFuncList; + rootBulletExplodeEffect(bi->getPosX(), bi->getPosY()); + bi->wait = 0; + soundExplodeBossShieldFlag = true; + } else { + BulletInfo *p = ListBullets::makeNewBullet(); + if (p) { + p->initialize(BULLET_TYPE_EXPLODE, bi->getPosX(), bi->getPosY(), 0, 0, StepFunc::effectHitStepFuncList); + } + } + } + + + soundShotHitFlag = true; + + return; + } + } + } + + static void playSE(void) { + if (Self::isMissJustNow()) { + SoundHandler::playSE(SoundResource::SE_EXPLODE_SELF); + return; + } + + if (SoundHandler::getSEIndex() == SoundResource::SE_EXPLODE_SELF) { + return; + } + + if (soundLaserFlag) { + SoundHandler::playSE(SoundResource::SE_LASER); + return; + } + + if (SoundHandler::getSEIndex() == SoundResource::SE_LASER) { + return; + } + + if (soundExplodeBossShieldFlag) { + SoundHandler::playSE(SoundResource::SE_EXPLODE_BOSS_SHIELD); + return; + } + + if (SoundHandler::isSEPlaying()) { + return; + } + + if (soundShotHitFlag) { + SoundHandler::playSE(SoundResource::SE_SHOT_HIT); + return; + } + } + + static void laserHitCheck(void); + static void drawBulletsAndHitCheck(int listShotMinPosX, int listShotMaxPosX); + static void bossShieldDestroyed(void); + + // ------------------------------------------------------------ + static void loop_initialize(void); + static void doLoop(void); + static void loop_terminate(void); + static void showBossDestroy(void); + static void showResult(void); + + static void irq_vblank(void) { + // bg scroll + static int bgoffset = 0; + bgoffset = (bgoffset + 2) & 0xf; + BG3VOFS = 8 - (bgoffset / 2); + + SpriteDoubler::irq_vblank(); + SoundHandler::irq_vblank(); + } + + // -------------------------------------------------- + static PlayTime playTime; + static int score; + static bool isExitLoop; + static ListShot listShot; + + static int suicideBulletCounter; + static int barrageIndex; + static int waitAfterGenerate; + static bool isRootBulletExist; + static bool bossEnabled; + static const BarrageInfo * const *listBarrage; + static const BarrageInfo * const *listBarrage_base; + + static Replay replay; + static bool isViewReplay; + + static MenuTitle menuTitle; + static MenuReplayList menuReplayList; + static MenuCredits menuCredits; + + static bool soundShotHitFlag; + static bool soundLaserFlag; + static bool soundExplodeBossShieldFlag; +}; + +#endif diff --git a/vulkanon/source/gameparams.cpp b/vulkanon/source/gameparams.cpp new file mode 100644 index 0000000..609c3c7 --- /dev/null +++ b/vulkanon/source/gameparams.cpp @@ -0,0 +1,5 @@ +#include "gameparams.hpp" + +BossCore GameParams::bossCore; +BossBody GameParams::bossBody; +HorizontalLaser GameParams::horizontalLaser; diff --git a/vulkanon/source/gameparams.hpp b/vulkanon/source/gameparams.hpp new file mode 100644 index 0000000..acd2cc1 --- /dev/null +++ b/vulkanon/source/gameparams.hpp @@ -0,0 +1,51 @@ +#ifndef GAMEPARAMS_HPP +#define GAMEPARAMS_HPP + +#include "imagehandler.hpp" +#include "effect.hpp" +#include "bossbody.hpp" +#include "bosscore.hpp" +#include "horizontal_laser.hpp" + +class GameParams +{ +public: + enum Params { + MAX_SHOT = 4, + + // Node: setting OAM_INDEX by OBJ_PRIORITY + OAM_INDEX_SELF = 0, + // not used OAM[1] + // assign for bullet OAM[2] - OAM[121] + OAM_INDEX_EXPLODE = 122, + // OAM[123] is not use. + OAM_INDEX_SHOT = 124, + // assign for shot OAM[124] - OAM[127]. (depend MAX_SHOT) + + OBJ_PRIORITY_SPRITE = 2, + + BOSS_CORE_POSX = ((Common::SCREEN_SIZE_X / 8) / 2) - TILEINFO_bg_boss_core_1::w / 2, + + EXPLODE_EFFECT_FRAMES_PER_PATTERN = 2, // must be 2^x + + DEFAULT_BULLET_POSX = 120 - ImageHandler::OBJPIXEL_WIDTH_BULLET / 2, + DEFAULT_BULLET_POSY = 20 - ImageHandler::OBJPIXEL_HEIGHT_BULLET / 2, + }; + + typedef Effect::value, + TILEINFO_spr_explode_self::size / ImageHandler::OBJTILE_EXPLODE_SELF_PATTERN, + ImageHandler::OBJTILE_EXPLODE_SELF_PATTERN, + EXPLODE_EFFECT_FRAMES_PER_PATTERN> EffectExplode; + + static BossCore bossCore; + static BossBody bossBody; + static HorizontalLaser horizontalLaser; +}; + +#endif diff --git a/vulkanon/source/generated b/vulkanon/source/generated new file mode 120000 index 0000000..53e95bb --- /dev/null +++ b/vulkanon/source/generated @@ -0,0 +1 @@ +../generator/data/code \ No newline at end of file diff --git a/vulkanon/source/horizontal_laser.hpp b/vulkanon/source/horizontal_laser.hpp new file mode 100644 index 0000000..74ed6d5 --- /dev/null +++ b/vulkanon/source/horizontal_laser.hpp @@ -0,0 +1,84 @@ +#ifndef HORIZONTAL_LASER_HPP +#define HORIZONTAL_LASER_HPP + +#include "imagehandler.hpp" +#include "common.hpp" + +template +class HorizontalLaser { +public: + enum { + // MAX_POWER_NUM must be 2^x + MAX_POWER_NUM = 1024, + + LASER_MOVE_PER_FRAME = 4, + }; + + void initialize(void) { + power = MAX_POWER_NUM; + resetPosY(); + + drawLaser(); + } + + void succ(void) { + power += (power < MAX_POWER_NUM); + } + + void step(void) { + ImageHandler::drawOpacityNumber<3>(4, 0, getPercent(), ImageHandler::BGCOLOR_FONT_RED + isFullPower()); + if (isFire()) { + posY -= LASER_MOVE_PER_FRAME; + if (posY <= 0) { + BG1VOFS = 0; + resetPosY(); + } else { + BG1VOFS = Common::SCREEN_SIZE_Y - posY; + } + } + } + + bool isFullPower(void) const { + return power == MAX_POWER_NUM; + } + + bool isFire(void) const { + return posY < Common::SCREEN_SIZE_Y; + } + + bool fire(void) { + if (isFullPower() & (! isFire())) { + posY = Common::SCREEN_SIZE_Y - 1; + power = 0; + return true; + } else { + return false; + } + } + + int getPosY(void) { + return posY; + } + +private: + int getPercent(void) const { + return (power * 100) / MAX_POWER_NUM; + } + + void resetPosY(void) { + posY = Common::SCREEN_SIZE_Y; + } + + void drawLaser(void) { + u16 *bg = static_cast(MAP_BASE_ADR(_BGMAP_INDEX)); + bg += 32 * 20; + for (int i = 0; i < 32; ++i) { + *bg++ = ImageResource::getTileIndex::value | BG_PALETTE(ImageHandler::BGCOLOR_HORIZONTAL_LASER); + } + } + + int power; + int posY; +}; + +#endif diff --git a/vulkanon/source/imagehandler.cpp b/vulkanon/source/imagehandler.cpp new file mode 100644 index 0000000..f6d5014 --- /dev/null +++ b/vulkanon/source/imagehandler.cpp @@ -0,0 +1,229 @@ +#include "imagehandler.hpp" +#include "common.hpp" + +void +ImageHandler::setupSprite(void) +{ + u16 *vram = static_castOBJ_BASE_ADR; + + vram = TILEINFO_spr_transparent::copyImage(vram); + vram = TILEINFO_spr_bullet::copyImage(vram); + vram = TILEINFO_spr_root_bullet::copyImage(vram); + vram = TILEINFO_spr_suicide_bullet_target_self::copyImage(vram); + vram = TILEINFO_spr_explode::copyImage(vram); + vram = TILEINFO_spr_shot_normal::copyImage(vram); + vram = TILEINFO_spr_self::copyImage(vram); + vram = TILEINFO_spr_explode_self::copyImage(vram); + vram = TILEINFO_spr_bonus::copyImage(vram); + + // setup palette + u16 *pal = OBJ_COLORS; + pal = TILEINFO_spr_transparent::copyPalette(pal); + pal = TILEINFO_spr_bullet::copyPalette(pal); + pal = TILEINFO_spr_root_bullet::copyPalette(pal); + pal = TILEINFO_spr_suicide_bullet_target_self::copyPalette(pal); + pal = TILEINFO_spr_suicide_bullet_original_direction::copyPalette(pal); + pal = TILEINFO_spr_explode::copyPalette(pal); + pal = TILEINFO_spr_shot_normal::copyPalette(pal); + pal = TILEINFO_spr_shot_fullpower::copyPalette(pal); + pal = TILEINFO_spr_self::copyPalette(pal); + pal = TILEINFO_spr_explode_self::copyPalette(pal); + pal = TILEINFO_spr_bonus::copyPalette(pal); +} + +void +ImageHandler::setupTile(void) +{ + u16 *vram = static_cast(CHAR_BASE_ADR(BGBASEADDR)); + + vram = TILEINFO_bg_transparent::copyImage(vram); + vram = TILEINFO_bg_background::copyImage(vram); + + vram = TILEINFO_bg_menu_logo::copyImage(vram); + vram = TILEINFO_bg_menu_url::copyImage(vram); + vram = TILEINFO_bg_menu_circle::copyImage(vram); + vram = TILEINFO_bg_menu_leftarrow::copyImage(vram); + vram = TILEINFO_bg_menu_rightarrow::copyImage(vram); + + vram = TILEINFO_bg_horizontal_laser::copyImage(vram); + + vram = TILEINFO_bg_status::copyImage(vram); + vram = TILEINFO_bg_number::copyImage(vram); + vram = TILEINFO_bg_replay::copyImage(vram); + + vram = TILEINFO_bg_result_border_bg::copyImage(vram); + vram = TILEINFO_bg_result_border_top::copyImage(vram); + vram = TILEINFO_bg_result_border_bottom::copyImage(vram); + vram = TILEINFO_bg_result_timeover::copyImage(vram); + vram = TILEINFO_bg_result_clear::copyImage(vram); + vram = TILEINFO_bg_result_bestscore::copyImage(vram); + vram = TILEINFO_bg_result_pressstart::copyImage(vram); + vram = TILEINFO_bg_result_replaysaved::copyImage(vram); + + vram = TILEINFO_bg_boss_body::copyImage(vram); + vram = TILEINFO_bg_boss_core_1::copyImage(vram); + vram = TILEINFO_bg_boss_shield::copyImage(vram); + + u16 *pal = BG_COLORS; + pal = TILEINFO_bg_transparent::copyPalette(pal); + pal = TILEINFO_bg_background::copyPalette(pal); + pal = TILEINFO_bg_font_white::copyPalette(pal); + pal = TILEINFO_bg_font_red::copyPalette(pal); + pal = TILEINFO_bg_font_green::copyPalette(pal); + pal = TILEINFO_bg_horizontal_laser::copyPalette(pal); + pal = TILEINFO_bg_boss_body::copyPalette(pal); + pal = TILEINFO_bg_boss_body_damaged::copyPalette(pal); + pal = TILEINFO_bg_boss_core_1::copyPalette(pal); + pal = TILEINFO_bg_boss_core_2::copyPalette(pal); + pal = TILEINFO_bg_boss_core_3::copyPalette(pal); + pal = TILEINFO_bg_boss_core_4::copyPalette(pal); + pal = TILEINFO_bg_boss_shield::copyPalette(pal); + + initializeBGMAP_BG(); +} + +void +ImageHandler::initializeBGMAP_BG(void) +{ + u16 *bgmap = static_cast(MAP_BASE_ADR(BGMAP_INDEX_BG)); + for (int i = 0; i < 32 * 32; ++i) { + *bgmap++ = ImageResource::getTileIndex::value | BG_PALETTE(BGCOLOR_GRAY); + } +} + +void +ImageHandler::clearBGMAP(int mapBaseAdr) +{ + u16 *bgmap = static_cast(MAP_BASE_ADR(mapBaseAdr)); + for (int i = 0; i < 32 * 32; ++i) { + *bgmap++ = ImageResource::getTileIndex::value; + } +} + +void +ImageHandler::drawBGMenuCircle(int x, int y, int palette) +{ + drawImage(x, y, ImageResource::getTileIndex::value, + TILEINFO_bg_menu_circle::w, + TILEINFO_bg_menu_circle::h, + palette, + BGMAP_INDEX_MENU_TEXT); +} + +void +ImageHandler::drawBGMenuLeftArrow(int x, int y, int palette) +{ + drawImage(x, y, ImageResource::getTileIndex::value, + TILEINFO_bg_menu_leftarrow::w, + TILEINFO_bg_menu_leftarrow::h, + palette, + BGMAP_INDEX_MENU_TEXT); +} + +void +ImageHandler::drawBGMenuRightArrow(int x, int y, int palette) +{ + drawImage(x, y, ImageResource::getTileIndex::value, + TILEINFO_bg_menu_rightarrow::w, + TILEINFO_bg_menu_rightarrow::h, + palette, + BGMAP_INDEX_MENU_TEXT); +} + +void +ImageHandler::drawBGStatus(void) +{ + drawImage(0, 0, ImageResource::getTileIndex::value, + TILEINFO_bg_status::w, + TILEINFO_bg_status::h, + BGCOLOR_FONT_WHITE, + BGMAP_INDEX_GAME_STATUS); +} + +void +ImageHandler::drawBGReplay(void) +{ + drawImage(30 - TILEINFO_bg_replay::w, 1, ImageResource::getTileIndex::value, + TILEINFO_bg_replay::w, + TILEINFO_bg_replay::h, + BGCOLOR_FONT_GREEN, + BGMAP_INDEX_GAME_STATUS); +} + +void +ImageHandler::drawBGResultBorder(void) +{ + for (int i = 0; i < 32; ++i) { + drawImage(i, 7, ImageResource::getTileIndex::value, + TILEINFO_bg_result_border_top::w, + TILEINFO_bg_result_border_top::h, + BGCOLOR_GRAY, + BGMAP_INDEX_GAME_STATUS); + for (int y = 8; y < 12; ++y) { + drawImage(i, y, ImageResource::getTileIndex::value, + TILEINFO_bg_result_border_bg::w, + TILEINFO_bg_result_border_bg::h, + BGCOLOR_GRAY, + BGMAP_INDEX_GAME_STATUS); + } + drawImage(i, 12, ImageResource::getTileIndex::value, + TILEINFO_bg_result_border_bottom::w, + TILEINFO_bg_result_border_bottom::h, + BGCOLOR_GRAY, + BGMAP_INDEX_GAME_STATUS); + } +} + +void +ImageHandler::drawBGResultTimeOver(void) +{ + drawImage(15 - TILEINFO_bg_result_timeover::w / 2, 8, + ImageResource::getTileIndex::value, + TILEINFO_bg_result_timeover::w, + TILEINFO_bg_result_timeover::h, + BGCOLOR_GRAY, + BGMAP_INDEX_GAME_STATUS); +} + +void +ImageHandler::drawBGResultClear(void) +{ + drawImage(15 - TILEINFO_bg_result_clear::w / 2, 8, + ImageResource::getTileIndex::value, + TILEINFO_bg_result_clear::w, + TILEINFO_bg_result_clear::h, + BGCOLOR_GRAY, + BGMAP_INDEX_GAME_STATUS); +} + +void +ImageHandler::drawBGResultBestScore(void) +{ + drawImage(1, 8, ImageResource::getTileIndex::value, + TILEINFO_bg_result_bestscore::w, + TILEINFO_bg_result_bestscore::h, + BGCOLOR_GRAY, + BGMAP_INDEX_GAME_STATUS); +} + +void +ImageHandler::drawBGResultPressStart(void) +{ + drawImage(15 - TILEINFO_bg_result_pressstart::w / 2, 11, + ImageResource::getTileIndex::value, + TILEINFO_bg_result_pressstart::w, + TILEINFO_bg_result_pressstart::h, + BGCOLOR_GRAY, + BGMAP_INDEX_GAME_STATUS); +} + +void +ImageHandler::drawBGResultReplaySaved(void) +{ + drawImage(18, 9, + ImageResource::getTileIndex::value, + TILEINFO_bg_result_replaysaved::w, + TILEINFO_bg_result_replaysaved::h, + BGCOLOR_GRAY, + BGMAP_INDEX_GAME_STATUS); +} diff --git a/vulkanon/source/imagehandler.hpp b/vulkanon/source/imagehandler.hpp new file mode 100644 index 0000000..6884643 --- /dev/null +++ b/vulkanon/source/imagehandler.hpp @@ -0,0 +1,244 @@ +#ifndef IMAGEHANDLER_HPP +#define IMAGEHANDLER_HPP + +#include + +#include "img/allinc.cpp" +#include "boost/static_assert.hpp" + +namespace ImageResource { + enum { + // ------------------------------------------------------------ + BG_TRANSPARENT = 0, + BG_BACKGROUND, + + BG_MENU_LOGO, + BG_MENU_URL, + BG_MENU_CIRCLE, + BG_MENU_LEFTARRAW, + BG_MENU_RIGHTARRAW, + + BG_HORIZONTAL_LASER, + + BG_STATUS, + BG_NUMBER, + BG_REPLAY, + + BG_RESULT_BORDER_BG, + BG_RESULT_BORDER_TOP, + BG_RESULT_BORDER_BOTTOM, + BG_RESULT_TIMEOVER, + BG_RESULT_CLEAR, + BG_RESULT_BESTSCORE, + BG_RESULT_PRESSSTART, + BG_RESULT_REPLAYSAVED, + + BG_BOSS_BODY, + BG_BOSS_CORE, + BG_BOSS_SHIELD, + + END_OF_BG, + + // ------------------------------------------------------------ + SPR_TRANSPARENT, + SPR_BULLET, + SPR_ROOT_BULLET, + SPR_SUICIDE_BULLET, + SPR_EXPLODE, + SPR_SHOT, + SPR_SELF, + SPR_EXPLODE_SELF, + SPR_BONUS, + END_OF_SPR, + }; + + template struct getTileSize { enum { value = 0 }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_transparent::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_background::size }; }; + + template <> struct getTileSize { enum { value = TILEINFO_bg_menu_logo::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_menu_url::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_menu_circle::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_menu_leftarrow::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_menu_rightarrow::size }; }; + + template <> struct getTileSize { enum { value = TILEINFO_bg_horizontal_laser::size }; }; + + template <> struct getTileSize { enum { value = TILEINFO_bg_status::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_number::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_replay::size }; }; + + template <> struct getTileSize { enum { value = TILEINFO_bg_result_border_bg::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_result_border_top::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_result_border_bottom::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_result_timeover::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_result_clear::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_result_bestscore::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_result_pressstart::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_result_replaysaved::size }; }; + + template <> struct getTileSize { enum { value = TILEINFO_bg_boss_body::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_boss_core_1::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_bg_boss_shield::size }; }; + + template <> struct getTileSize { enum { value = 0 }; }; + + template <> struct getTileSize { enum { value = TILEINFO_spr_transparent::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_spr_bullet::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_spr_root_bullet::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_spr_suicide_bullet_target_self::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_spr_explode::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_spr_shot_normal::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_spr_self::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_spr_explode_self::size }; }; + template <> struct getTileSize { enum { value = TILEINFO_spr_bonus::size }; }; + + template struct getTileIndex { enum { value = getTileIndex::value + getTileSize::value }; }; + template <> struct getTileIndex { enum { value = 0 }; }; + template <> struct getTileIndex { enum { value = 0 }; }; + + // We use (16 * 3) KByte for BGTILE. + BOOST_STATIC_ASSERT((getTileIndex::value * (4 * 8)) <= (24 * 1024)); + + // We use OBJ memory as normal memory. So, OBJ Tiles <= 16 KBytes. + // (SpriteDoubler::sortedOBJATTR uses 16 KBytes of VRAM) + BOOST_STATIC_ASSERT((getTileIndex::value * (4 * 8)) <= (16 * 1024)); +}; + +class ImageHandler { +public: + enum Params { + OBJTILE_EXPLODE_PATTERN = 8, + OBJTILE_EXPLODE_SELF_PATTERN = 8, + OBJTILE_ROOT_BULLET_PATTERN = 8, + OBJTILE_BONUS_PATTERN = 4, + + OBJTILE_BULLET_PATTERN = 16, + OBJTILE_SHOT_NORMAL_PATTERN = 2, + BGTILE_BOSS_SHIELD_PATTERN = 4, + }; + + enum ObjPixelSize { + OBJPIXEL_WIDTH_BULLET = TILEINFO_spr_bullet::w * 8, + OBJPIXEL_HEIGHT_BULLET = TILEINFO_spr_bullet::h * 8 / OBJTILE_BULLET_PATTERN, + + OBJPIXEL_WIDTH_SHOT = TILEINFO_spr_shot_normal::w * 8, + OBJPIXEL_HEIGHT_SHOT = TILEINFO_spr_shot_normal::h * 8 / OBJTILE_SHOT_NORMAL_PATTERN, + + OBJPIXEL_WIDTH_SELF = TILEINFO_spr_self::w * 8, + OBJPIXEL_HEIGHT_SELF = TILEINFO_spr_self::h * 8, + + OBJPIXEL_WIDTH_EXPLODE_SELF = TILEINFO_spr_explode_self::w * 8, + OBJPIXEL_HEIGHT_EXPLODE_SELF = TILEINFO_spr_explode_self::h * 8 / OBJTILE_EXPLODE_SELF_PATTERN, + + OBJPIXEL_WIDTH_EXPLODE = TILEINFO_spr_explode::w * 8, + OBJPIXEL_HEIGHT_EXPLODE = TILEINFO_spr_explode::h * 8 / OBJTILE_EXPLODE_PATTERN, + + OBJPIXEL_WIDTH_BOSS_CORE = TILEINFO_bg_boss_core_1::w * 8, + OBJPIXEL_HEIGHT_BOSS_CORE = TILEINFO_bg_boss_core_1::h * 8, + + OBJPIXEL_HEIGHT_BOSS_SHIELD = TILEINFO_bg_boss_shield::w * 8 / BGTILE_BOSS_SHIELD_PATTERN, + }; + + enum ObjColor { + OBJCOLOR_TRANSPARENT, + OBJCOLOR_BULLET, + OBJCOLOR_ROOT_BULLET, + OBJCOLOR_SUICIDE_BULLET_TARGET_SELF, + OBJCOLOR_SUICIDE_BULLET_ORIGINAL_DIRECTION, + OBJCOLOR_EXPLODE, + OBJCOLOR_SHOT_NORMAL, + OBJCOLOR_SHOT_FULLPOWER, + OBJCOLOR_SELF, + OBJCOLOR_EXPLODE_SELF, + OBJCOLOR_BONUS, + END_OF_OBJCOLOR, + }; + BOOST_STATIC_ASSERT((END_OF_OBJCOLOR * 16) <= 256); + + enum BgColor { + BGCOLOR_TRANSPARENT, + BGCOLOR_GRAY, + BGCOLOR_FONT_WHITE, + BGCOLOR_FONT_RED, + BGCOLOR_FONT_GREEN, + BGCOLOR_HORIZONTAL_LASER, + BGCOLOR_BOSS_BODY, + BGCOLOR_BOSS_BODY_DAMAGED, + BGCOLOR_BOSS_CORE_1, + BGCOLOR_BOSS_CORE_2, + BGCOLOR_BOSS_CORE_3, + BGCOLOR_BOSS_CORE_4, + BGCOLOR_BOSS_SHIELD, + END_OF_BGCOLOR, + }; + BOOST_STATIC_ASSERT((END_OF_BGCOLOR * 16) <= 256); + + enum { + BGBASEADDR = 0, + + BGMAP_INDEX_BG = 24, + + BGMAP_INDEX_MENU_LOGO = 25, + BGMAP_INDEX_MENU_TEXT = 26, + + BGMAP_INDEX_GAME_STATUS = 27, + BGMAP_INDEX_GAME_HORIZONTAL_LASER = 28, + BGMAP_INDEX_GAME_BOSS = 29, + BGMAP_INDEX_GAME_BOSS_2 = 30, + + END_OF_BGMAP = 32, + }; + + static void setupSprite(void); + static void setupTile(void); + + // ------------------------------------------------------------ + static void initializeBGMAP_BG(void); + static void clearBGMAP(int mapBaseAdr); + + // ------------------------------------------------------------ + static void drawImage(int posx, int posy, int idx, int width, int height, int palette, int bgmapIndex) { + u16 *bgmap = static_cast(MAP_BASE_ADR(bgmapIndex)); + for (int y = 0; y < height; ++y) { + for (int x = 0; x < width; ++x) { + bgmap[(posy + y) * 32 + (posx + x)] = idx | BG_PALETTE(palette); + ++idx; + } + } + } + + static void drawBGMenuCircle(int x, int y, int palette); + static void drawBGMenuLeftArrow(int x, int y, int palette); + static void drawBGMenuRightArrow(int x, int y, int palette); + + static void drawBGStatus(void); + static void drawBGReplay(void); + static void drawBGResultBorder(void); + static void drawBGResultTimeOver(void); + static void drawBGResultClear(void); + static void drawBGResultBestScore(void); + static void drawBGResultPressStart(void); + static void drawBGResultReplaySaved(void); + + // ------------------------------------------------------------ + template static void drawOpacityNumber(int x, int y, int num, int palette) { + u16 *bg = getBG(x, y, BGMAP_INDEX_GAME_STATUS); + bg += (_order - 1); + for (int i = 0; i < _order; ++i) { + int div = Div(num, 10); + *bg = (ImageResource::getTileIndex::value + (num - div * 10)) | BG_PALETTE(palette); + --bg; + num = div; + } + } + +private: + static u16 *getBG(int x, int y, int bgmapIndex) { + u16 *bgmap = static_cast(MAP_BASE_ADR(bgmapIndex)); + bgmap += y * 32 + x; + return bgmap; + } +}; + +#endif diff --git a/vulkanon/source/img/allinc.cpp b/vulkanon/source/img/allinc.cpp new file mode 100644 index 0000000..8f86e84 --- /dev/null +++ b/vulkanon/source/img/allinc.cpp @@ -0,0 +1,43 @@ +#include "img/bg_background.cpp" +#include "img/bg_boss_body.cpp" +#include "img/bg_boss_body_damaged.cpp" +#include "img/bg_boss_core_1.cpp" +#include "img/bg_boss_core_2.cpp" +#include "img/bg_boss_core_3.cpp" +#include "img/bg_boss_core_4.cpp" +#include "img/bg_boss_shield.cpp" +#include "img/bg_font_green.cpp" +#include "img/bg_font_red.cpp" +#include "img/bg_font_white.cpp" +#include "img/bg_horizontal_laser.cpp" +#include "img/bg_menu_circle.cpp" +#include "img/bg_menu_leftarrow.cpp" +#include "img/bg_menu_logo.cpp" +#include "img/bg_menu_rightarrow.cpp" +#include "img/bg_menu_url.cpp" +#include "img/bg_menu_version.cpp" +#include "img/bg_number.cpp" +#include "img/bg_replay.cpp" +#include "img/bg_result_bestplay.cpp" +#include "img/bg_result_bestscore.cpp" +#include "img/bg_result_border_bg.cpp" +#include "img/bg_result_border_bottom.cpp" +#include "img/bg_result_border_top.cpp" +#include "img/bg_result_clear.cpp" +#include "img/bg_result_pressstart.cpp" +#include "img/bg_result_replaysaved.cpp" +#include "img/bg_result_timeover.cpp" +#include "img/bg_status.cpp" +#include "img/bg_transparent.cpp" +#include "img/spr_bonus.cpp" +#include "img/spr_bullet.cpp" +#include "img/spr_bullet_orig.cpp" +#include "img/spr_explode.cpp" +#include "img/spr_explode_self.cpp" +#include "img/spr_root_bullet.cpp" +#include "img/spr_self.cpp" +#include "img/spr_shot_fullpower.cpp" +#include "img/spr_shot_normal.cpp" +#include "img/spr_suicide_bullet_original_direction.cpp" +#include "img/spr_suicide_bullet_target_self.cpp" +#include "img/spr_transparent.cpp" diff --git a/vulkanon/source/img/bg_background.cpp b/vulkanon/source/img/bg_background.cpp new file mode 100644 index 0000000..151e5d9 --- /dev/null +++ b/vulkanon/source/img/bg_background.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_background.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_background { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x3e0,0x0,0x842,0x1084,0x18c6,0x2529,0x2d6b,0x35ad,0x3def,0x4a52,0x5294,0x5ad6,0x6739,0x6f7b,0x77bd,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x22,0x12,0x22,0x22, + 0x22,0x12,0x22,0x22, + 0x22,0x12,0x22,0x22, + 0x22,0x12,0x22,0x22, + 0x11,0x11,0x11,0x11, + 0x22,0x12,0x22,0x22, + 0x22,0x12,0x22,0x22, + 0x22,0x12,0x22,0x22, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_boss_body.cpp b/vulkanon/source/img/bg_boss_body.cpp new file mode 100644 index 0000000..9b8a0da --- /dev/null +++ b/vulkanon/source/img/bg_boss_body.cpp @@ -0,0 +1,440 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_boss_body.bmp Opened. +Bmp signature found. +Bmp width: 80 +Bmp height: 32 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 1280 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_boss_body { + enum { + w = 10, + h = 4, + size = 40, + }; + const unsigned short palette[] = { + 0x3e0,0x842,0xc63,0x14a5,0x1ce7,0x2529,0x2d6b,0x35ad,0x39ce,0x4210,0x4a52,0x5294,0x5ad6,0x5ef7,0x6739,0x6f7b, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x57,0x77, + 0x99,0x99,0x59,0x99, + 0xbb,0xbb,0x5b,0xbb, + 0xdd,0xdd,0x5d,0xdd, + 0xff,0xff,0x5f,0xff, + + // Tile [1 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x77,0x77, + 0x99,0x99,0x99,0x99, + 0xbb,0xbb,0xbb,0xbb, + 0xdd,0xdd,0xdd,0xdd, + 0xff,0xff,0xff,0xff, + + // Tile [2 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x77,0x77, + 0x99,0x99,0x99,0x99, + 0xbb,0xbb,0xbb,0xbb, + 0xdd,0xdd,0xdd,0xdd, + 0xff,0xff,0xff,0xff, + + // Tile [3 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x57,0x77, + 0x99,0x99,0x59,0x99, + 0xbb,0xbb,0x5b,0xbb, + 0xdd,0xdd,0x5d,0xdd, + 0xff,0xff,0x5f,0xff, + + // Tile [4 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x77,0x77, + 0x99,0x99,0x99,0x99, + 0xbb,0xbb,0xbb,0xbb, + 0xdd,0xdd,0xdd,0xdd, + 0xff,0xff,0xff,0xff, + + // Tile [5 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x77,0x77, + 0x99,0x99,0x99,0x99, + 0xbb,0xbb,0xbb,0xbb, + 0xdd,0xdd,0xdd,0xdd, + 0xff,0xff,0xff,0xff, + + // Tile [6 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x77,0x77, + 0x99,0x99,0x99,0x99, + 0xbb,0xbb,0xbb,0xbb, + 0xdd,0xdd,0xdd,0xdd, + 0xff,0xff,0xff,0xff, + + // Tile [7 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x57,0x77, + 0x99,0x99,0x59,0x99, + 0xbb,0xbb,0x5b,0xbb, + 0xdd,0xdd,0x5d,0xdd, + 0xff,0xff,0x5f,0xff, + + // Tile [8 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x77,0x77, + 0x99,0x99,0x99,0x99, + 0xbb,0xbb,0xbb,0xbb, + 0xdd,0xdd,0xdd,0xdd, + 0xff,0xff,0xff,0xff, + + // Tile [9 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x75,0x77, + 0x99,0x99,0x95,0x99, + 0xbb,0xbb,0xb5,0xbb, + 0xdd,0xdd,0xd5,0xdd, + 0xff,0xff,0xf5,0xff, + + // Tile [0 , 1] + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0x55, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + + // Tile [1 , 1] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [2 , 1] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0x5f, + 0xff,0xff,0xff,0x5f, + 0xff,0xff,0xff,0x5f, + 0xff,0xff,0xff,0x5f, + + // Tile [3 , 1] + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0x55, + 0xff,0xff,0x5f,0xff, + 0x55,0x55,0x55,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [4 , 1] + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [5 , 1] + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [6 , 1] + 0xff,0xff,0xff,0xff, + 0x55,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + + // Tile [7 , 1] + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0x55, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + + // Tile [8 , 1] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [9 , 1] + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0x55,0x55,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + + // Tile [0 , 2] + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0x55, + + // Tile [1 , 2] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + + // Tile [2 , 2] + 0xff,0xff,0xff,0x5f, + 0xff,0xff,0xff,0x5f, + 0xff,0xff,0xff,0x5f, + 0xff,0xff,0xff,0x5f, + 0xff,0xff,0xff,0x5f, + 0xff,0xff,0xff,0x5f, + 0xff,0xff,0xff,0x5f, + 0x55,0x55,0x55,0x55, + + // Tile [3 , 2] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [4 , 2] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [5 , 2] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [6 , 2] + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + + // Tile [7 , 2] + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0x55,0x55,0x55,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + + // Tile [8 , 2] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [9 , 2] + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + + // Tile [0 , 3] + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xdd,0xdd,0x5d,0xdd, + 0x99,0x99,0x59,0x99, + 0x66,0x66,0x56,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [1 , 3] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xdd,0xdd,0xdd,0xdd, + 0x99,0x99,0x99,0x99, + 0x66,0x66,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [2 , 3] + 0xff,0xff,0xff,0x5f, + 0xff,0xff,0xff,0x5f, + 0xff,0xff,0xff,0x5f, + 0xdd,0xdd,0xdd,0x5d, + 0x99,0x99,0x99,0x59, + 0x66,0x66,0x66,0x56, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [3 , 3] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xdd,0xdd,0xdd,0xdd, + 0x99,0x99,0x99,0x99, + 0x66,0x66,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [4 , 3] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xdd,0xdd,0xdd,0xdd, + 0x99,0x99,0x99,0x99, + 0x66,0x66,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [5 , 3] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xdd,0xdd,0xdd,0xdd, + 0x99,0x99,0x99,0x99, + 0x66,0x66,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [6 , 3] + 0xff,0xf5,0xff,0xff, + 0xff,0x55,0x55,0x55, + 0xff,0xf5,0xff,0xff, + 0xdd,0xd5,0xdd,0xdd, + 0x99,0x95,0x99,0x99, + 0x66,0x65,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [7 , 3] + 0xff,0xff,0x5f,0xff, + 0x55,0x55,0x55,0xff, + 0xff,0xff,0xff,0xff, + 0xdd,0xdd,0xdd,0xdd, + 0x99,0x99,0x99,0x99, + 0x66,0x66,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [8 , 3] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xdd,0xdd,0xdd,0xdd, + 0x99,0x99,0x99,0x99, + 0x66,0x66,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [9 , 3] + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xdd,0xdd,0xd5,0xdd, + 0x99,0x99,0x95,0x99, + 0x66,0x66,0x65,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_boss_body_damaged.cpp b/vulkanon/source/img/bg_boss_body_damaged.cpp new file mode 100644 index 0000000..bb3e8fb --- /dev/null +++ b/vulkanon/source/img/bg_boss_body_damaged.cpp @@ -0,0 +1,440 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_boss_body_damaged.bmp Opened. +Bmp signature found. +Bmp width: 80 +Bmp height: 32 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 1280 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_boss_body_damaged { + enum { + w = 10, + h = 4, + size = 40, + }; + const unsigned short palette[] = { + 0x3e0,0x842,0xc63,0x14a5,0x1ce7,0x2529,0x2d6b,0x35ad,0x39ce,0x4210,0x4a52,0x5294,0x5ad6,0x5ef7,0x6739,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x57,0x77, + 0x99,0x99,0x59,0x99, + 0xbb,0xbb,0x5b,0xbb, + 0xdd,0xdd,0x5d,0xdd, + 0xff,0xff,0x5f,0xff, + + // Tile [1 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x77,0x77, + 0x99,0x99,0x99,0x99, + 0xbb,0xbb,0xbb,0xbb, + 0xdd,0xdd,0xdd,0xdd, + 0xff,0xff,0xff,0xff, + + // Tile [2 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x77,0x77, + 0x99,0x99,0x99,0x99, + 0xbb,0xbb,0xbb,0xbb, + 0xdd,0xdd,0xdd,0xdd, + 0xff,0xff,0xff,0xff, + + // Tile [3 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x57,0x77, + 0x99,0x99,0x59,0x99, + 0xbb,0xbb,0x5b,0xbb, + 0xdd,0xdd,0x5d,0xdd, + 0xff,0xff,0x5f,0xff, + + // Tile [4 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x77,0x77, + 0x99,0x99,0x99,0x99, + 0xbb,0xbb,0xbb,0xbb, + 0xdd,0xdd,0xdd,0xdd, + 0xff,0xff,0xff,0xff, + + // Tile [5 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x77,0x77, + 0x99,0x99,0x99,0x99, + 0xbb,0xbb,0xbb,0xbb, + 0xdd,0xdd,0xdd,0xdd, + 0xff,0xff,0xff,0xff, + + // Tile [6 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x77,0x77, + 0x99,0x99,0x99,0x99, + 0xbb,0xbb,0xbb,0xbb, + 0xdd,0xdd,0xdd,0xdd, + 0xff,0xff,0xff,0xff, + + // Tile [7 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x57,0x77, + 0x99,0x99,0x59,0x99, + 0xbb,0xbb,0x5b,0xbb, + 0xdd,0xdd,0x5d,0xdd, + 0xff,0xff,0x5f,0xff, + + // Tile [8 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x77,0x77, + 0x99,0x99,0x99,0x99, + 0xbb,0xbb,0xbb,0xbb, + 0xdd,0xdd,0xdd,0xdd, + 0xff,0xff,0xff,0xff, + + // Tile [9 , 0] + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x55,0x55,0x55,0x55, + 0x77,0x77,0x75,0x57, + 0x99,0x99,0x95,0x59, + 0xbb,0xbb,0xb5,0x5b, + 0xdd,0xdd,0xd5,0x5d, + 0xff,0xff,0xf5,0x5f, + + // Tile [0 , 1] + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0x55, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + + // Tile [1 , 1] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [2 , 1] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xf5,0xff,0xff,0xff, + 0xf5,0xff,0xff,0xff, + 0xf5,0xff,0xff,0xff, + 0xf5,0xff,0xff,0xff, + + // Tile [3 , 1] + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0x55, + 0xff,0xff,0x5f,0xff, + 0x55,0x55,0x55,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [4 , 1] + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [5 , 1] + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [6 , 1] + 0xff,0xff,0xff,0xff, + 0x55,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + + // Tile [7 , 1] + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0x55, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + + // Tile [8 , 1] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [9 , 1] + 0xff,0xff,0xf5,0x5f, + 0xff,0xff,0xf5,0x5f, + 0xff,0xff,0xf5,0x5f, + 0xff,0xff,0xf5,0x5f, + 0xff,0xff,0xf5,0x5f, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + + // Tile [0 , 2] + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0x55, + + // Tile [1 , 2] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + + // Tile [2 , 2] + 0xf5,0xff,0xff,0xff, + 0xf5,0xff,0xff,0xff, + 0xf5,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xf5,0xff,0xff,0xff, + 0xf5,0xff,0xff,0xff, + 0xf5,0xff,0xff,0xff, + 0xf5,0xff,0xff,0xff, + + // Tile [3 , 2] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [4 , 2] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [5 , 2] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [6 , 2] + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0x55,0x55,0x55,0x55, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + 0xff,0xf5,0xff,0xff, + + // Tile [7 , 2] + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0x55,0x55,0x55,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + + // Tile [8 , 2] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + + // Tile [9 , 2] + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + + // Tile [0 , 3] + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xff,0xff,0x5f,0xff, + 0xdd,0xdd,0x5d,0xdd, + 0x99,0x99,0x59,0x99, + 0x66,0x66,0x56,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [1 , 3] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xdd,0xdd,0xdd,0xdd, + 0x99,0x99,0x99,0x99, + 0x66,0x66,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [2 , 3] + 0xf5,0xff,0xff,0xff, + 0xf5,0xff,0xff,0xff, + 0xf5,0xff,0xff,0xff, + 0xd5,0xdd,0xdd,0xdd, + 0x95,0x99,0x99,0x99, + 0x65,0x66,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [3 , 3] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xdd,0xdd,0xdd,0xdd, + 0x99,0x99,0x99,0x99, + 0x66,0x66,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [4 , 3] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xdd,0xdd,0xdd,0xdd, + 0x99,0x99,0x99,0x99, + 0x66,0x66,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [5 , 3] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xdd,0xdd,0xdd,0xdd, + 0x99,0x99,0x99,0x99, + 0x66,0x66,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [6 , 3] + 0xff,0xf5,0xff,0xff, + 0xff,0x55,0x55,0x55, + 0xff,0xf5,0xff,0xff, + 0xdd,0xd5,0xdd,0xdd, + 0x99,0x95,0x99,0x99, + 0x66,0x65,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [7 , 3] + 0xff,0xff,0x5f,0xff, + 0x55,0x55,0x55,0xff, + 0xff,0xff,0xff,0xff, + 0xdd,0xdd,0xdd,0xdd, + 0x99,0x99,0x99,0x99, + 0x66,0x66,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [8 , 3] + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xdd,0xdd,0xdd,0xdd, + 0x99,0x99,0x99,0x99, + 0x66,0x66,0x66,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + + // Tile [9 , 3] + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xff,0xff,0xf5,0xff, + 0xdd,0xdd,0xd5,0xdd, + 0x99,0x99,0x95,0x99, + 0x66,0x66,0x65,0x66, + 0x44,0x44,0x44,0x44, + 0x22,0x22,0x22,0x22, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_boss_core_1.cpp b/vulkanon/source/img/bg_boss_core_1.cpp new file mode 100644 index 0000000..27b1ed5 --- /dev/null +++ b/vulkanon/source/img/bg_boss_core_1.cpp @@ -0,0 +1,80 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_boss_core_1.bmp Opened. +Bmp signature found. +Bmp width: 32 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 128 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_boss_core_1 { + enum { + w = 4, + h = 1, + size = 4, + }; + const unsigned short palette[] = { + 0x3e0,0x4210,0x4e73,0x5ef7,0x6f7b,0x7fff,0x5ef7,0x1ce7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x66,0x76,0x77,0x77, + 0x76,0x77,0x0,0x0, + 0x76,0x0,0x0,0x0, + 0x77,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + + // Tile [1 , 0] + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x53, + 0x0,0x0,0x10,0x22, + 0x0,0x0,0x20,0x32, + 0x0,0x0,0x20,0x43, + 0x0,0x0,0x30,0x54, + 0x0,0x0,0x0,0x44, + + // Tile [2 , 0] + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x35,0x0,0x0,0x0, + 0x22,0x1,0x0,0x0, + 0x23,0x2,0x0,0x0, + 0x34,0x2,0x0,0x0, + 0x45,0x3,0x0,0x0, + 0x44,0x0,0x0,0x0, + + // Tile [3 , 0] + 0x77,0x77,0x67,0x66, + 0x0,0x0,0x77,0x67, + 0x0,0x0,0x0,0x67, + 0x0,0x0,0x0,0x77, + 0x0,0x0,0x0,0x70, + 0x0,0x0,0x0,0x70, + 0x0,0x0,0x0,0x70, + 0x0,0x0,0x0,0x70, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_boss_core_2.cpp b/vulkanon/source/img/bg_boss_core_2.cpp new file mode 100644 index 0000000..b7cc652 --- /dev/null +++ b/vulkanon/source/img/bg_boss_core_2.cpp @@ -0,0 +1,80 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_boss_core_2.bmp Opened. +Bmp signature found. +Bmp width: 32 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 128 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_boss_core_2 { + enum { + w = 4, + h = 1, + size = 4, + }; + const unsigned short palette[] = { + 0x3e0,0x10,0x1cf3,0x3df7,0x5efb,0x7fff,0x5ef7,0x1ce7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x66,0x76,0x77,0x77, + 0x76,0x77,0x0,0x0, + 0x76,0x0,0x0,0x0, + 0x77,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + + // Tile [1 , 0] + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x53, + 0x0,0x0,0x10,0x22, + 0x0,0x0,0x20,0x32, + 0x0,0x0,0x20,0x43, + 0x0,0x0,0x30,0x54, + 0x0,0x0,0x0,0x44, + + // Tile [2 , 0] + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x35,0x0,0x0,0x0, + 0x22,0x1,0x0,0x0, + 0x23,0x2,0x0,0x0, + 0x34,0x2,0x0,0x0, + 0x45,0x3,0x0,0x0, + 0x44,0x0,0x0,0x0, + + // Tile [3 , 0] + 0x77,0x77,0x67,0x66, + 0x0,0x0,0x77,0x67, + 0x0,0x0,0x0,0x67, + 0x0,0x0,0x0,0x77, + 0x0,0x0,0x0,0x70, + 0x0,0x0,0x0,0x70, + 0x0,0x0,0x0,0x70, + 0x0,0x0,0x0,0x70, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_boss_core_3.cpp b/vulkanon/source/img/bg_boss_core_3.cpp new file mode 100644 index 0000000..e72d06b --- /dev/null +++ b/vulkanon/source/img/bg_boss_core_3.cpp @@ -0,0 +1,80 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_boss_core_3.bmp Opened. +Bmp signature found. +Bmp width: 32 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 128 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_boss_core_3 { + enum { + w = 4, + h = 1, + size = 4, + }; + const unsigned short palette[] = { + 0x3e0,0x21f,0x1e7f,0x3eff,0x5f7f,0x7fff,0x5ef7,0x1ce7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x66,0x76,0x77,0x77, + 0x76,0x77,0x0,0x0, + 0x76,0x0,0x0,0x0, + 0x77,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + + // Tile [1 , 0] + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x53, + 0x0,0x0,0x10,0x22, + 0x0,0x0,0x20,0x32, + 0x0,0x0,0x20,0x43, + 0x0,0x0,0x30,0x54, + 0x0,0x0,0x0,0x44, + + // Tile [2 , 0] + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x35,0x0,0x0,0x0, + 0x22,0x1,0x0,0x0, + 0x23,0x2,0x0,0x0, + 0x34,0x2,0x0,0x0, + 0x45,0x3,0x0,0x0, + 0x44,0x0,0x0,0x0, + + // Tile [3 , 0] + 0x77,0x77,0x67,0x66, + 0x0,0x0,0x77,0x67, + 0x0,0x0,0x0,0x67, + 0x0,0x0,0x0,0x77, + 0x0,0x0,0x0,0x70, + 0x0,0x0,0x0,0x70, + 0x0,0x0,0x0,0x70, + 0x0,0x0,0x0,0x70, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_boss_core_4.cpp b/vulkanon/source/img/bg_boss_core_4.cpp new file mode 100644 index 0000000..d95dcb5 --- /dev/null +++ b/vulkanon/source/img/bg_boss_core_4.cpp @@ -0,0 +1,80 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_boss_core_4.bmp Opened. +Bmp signature found. +Bmp width: 32 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 128 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_boss_core_4 { + enum { + w = 4, + h = 1, + size = 4, + }; + const unsigned short palette[] = { + 0x3e0,0x7c00,0x7ce7,0x7def,0x7ef7,0x7fff,0x5ef7,0x1ce7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x66,0x76,0x77,0x77, + 0x76,0x77,0x0,0x0, + 0x76,0x0,0x0,0x0, + 0x77,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + 0x7,0x0,0x0,0x0, + + // Tile [1 , 0] + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x53, + 0x0,0x0,0x10,0x22, + 0x0,0x0,0x20,0x32, + 0x0,0x0,0x20,0x43, + 0x0,0x0,0x30,0x54, + 0x0,0x0,0x0,0x44, + + // Tile [2 , 0] + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x35,0x0,0x0,0x0, + 0x22,0x1,0x0,0x0, + 0x23,0x2,0x0,0x0, + 0x34,0x2,0x0,0x0, + 0x45,0x3,0x0,0x0, + 0x44,0x0,0x0,0x0, + + // Tile [3 , 0] + 0x77,0x77,0x67,0x66, + 0x0,0x0,0x77,0x67, + 0x0,0x0,0x0,0x67, + 0x0,0x0,0x0,0x77, + 0x0,0x0,0x0,0x70, + 0x0,0x0,0x0,0x70, + 0x0,0x0,0x0,0x70, + 0x0,0x0,0x0,0x70, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_boss_shield.cpp b/vulkanon/source/img/bg_boss_shield.cpp new file mode 100644 index 0000000..34110ac --- /dev/null +++ b/vulkanon/source/img/bg_boss_shield.cpp @@ -0,0 +1,360 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_boss_shield.bmp Opened. +Bmp signature found. +Bmp width: 32 +Bmp height: 64 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 1024 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_boss_shield { + enum { + w = 4, + h = 8, + size = 32, + }; + const unsigned short palette[] = { + 0x3e0,0x0,0x1ce7,0x3def,0x5ef7,0x7fff,0x3bff,0x221f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + + // Tile [1 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 0] + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + + // Tile [0 , 1] + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + + // Tile [1 , 1] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 1] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 1] + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + + // Tile [0 , 2] + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x72,0x77,0x77,0x77, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + + // Tile [1 , 2] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 2] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 2] + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x77,0x77,0x77,0x27, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + + // Tile [0 , 3] + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + + // Tile [1 , 3] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 3] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 3] + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + + // Tile [0 , 4] + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x72,0x77,0x77,0x77, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x72,0x77,0x77,0x77, + 0x2,0x0,0x0,0x0, + + // Tile [1 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 4] + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x77,0x77,0x77,0x27, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x77,0x77,0x77,0x27, + 0x0,0x0,0x0,0x20, + + // Tile [0 , 5] + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + + // Tile [1 , 5] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 5] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 5] + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + + // Tile [0 , 6] + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x72,0x77,0x77,0x77, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x72,0x77,0x77,0x77, + 0x2,0x0,0x0,0x0, + + // Tile [1 , 6] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 6] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 6] + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x77,0x77,0x77,0x27, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x77,0x77,0x77,0x27, + 0x0,0x0,0x0,0x20, + + // Tile [0 , 7] + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x72,0x77,0x77,0x77, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + + // Tile [1 , 7] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 7] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x77,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 7] + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x77,0x77,0x77,0x27, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x20, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_font_green.cpp b/vulkanon/source/img/bg_font_green.cpp new file mode 100644 index 0000000..fbadd3d --- /dev/null +++ b/vulkanon/source/img/bg_font_green.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_font_green.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_font_green { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x21f,0xc63,0xca3,0x8e2,0x922,0x962,0x9a2,0x5e1,0x621,0x661,0x6a1,0x2e0,0x320,0x360,0x3a0,0x3e0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0xf6,0x6,0x0,0xe, + 0x3f,0xf,0xe6,0x0, + 0xf6,0x6,0xe,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xe,0xf6,0x6, + 0xe0,0x6,0x3f,0xf, + 0xe,0x0,0xf6,0x6, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_font_red.cpp b/vulkanon/source/img/bg_font_red.cpp new file mode 100644 index 0000000..027fb01 --- /dev/null +++ b/vulkanon/source/img/bg_font_red.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_font_red.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_font_red { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x3e0,0xc63,0xc85,0x8a7,0x8c9,0x8eb,0x8ed,0x50f,0x531,0x553,0x575,0x197,0x1b9,0x1db,0x1fd,0x21f, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0xf6,0x6,0x0,0xe, + 0x3f,0xf,0xe6,0x0, + 0xf6,0x6,0xe,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xe,0xf6,0x6, + 0xe0,0x6,0x3f,0xf, + 0xe,0x0,0xf6,0x6, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_font_white.cpp b/vulkanon/source/img/bg_font_white.cpp new file mode 100644 index 0000000..2d2b53d --- /dev/null +++ b/vulkanon/source/img/bg_font_white.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_font_white.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_font_white { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x3e0,0xc63,0x14a5,0x1ce7,0x2529,0x2d6b,0x35ad,0x3def,0x4631,0x4e73,0x56b5,0x5ef7,0x6739,0x6f7b,0x77bd,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0xf6,0x6,0x0,0xe, + 0x3f,0xf,0xe6,0x0, + 0xf6,0x6,0xe,0x0, + 0x0,0xf0,0x0,0x0, + 0x0,0xe,0xf6,0x6, + 0xe0,0x6,0x3f,0xf, + 0xe,0x0,0xf6,0x6, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_horizontal_laser.cpp b/vulkanon/source/img/bg_horizontal_laser.cpp new file mode 100644 index 0000000..01cf4db --- /dev/null +++ b/vulkanon/source/img/bg_horizontal_laser.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_horizontal_laser.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_horizontal_laser { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x0,0xaa,0x155,0x21f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x11,0x11,0x11,0x11, + 0x33,0x33,0x33,0x33, + 0x11,0x11,0x11,0x11, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_menu_circle.cpp b/vulkanon/source/img/bg_menu_circle.cpp new file mode 100644 index 0000000..595a23b --- /dev/null +++ b/vulkanon/source/img/bg_menu_circle.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_menu_circle.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +16 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_menu_circle { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x3e0,0xc63,0x14a5,0x1ce7,0x2529,0x2d8b,0x35cd,0x3e10,0x4a52,0x5294,0x5ad6,0x6318,0x6b5a,0x739c,0x77bd,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x60,0x6,0x0, + 0x0,0xf6,0x6f,0x0, + 0x60,0xff,0xff,0x6, + 0x60,0xff,0xff,0x6, + 0x0,0xf6,0x6f,0x0, + 0x0,0x60,0x6,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_menu_leftarrow.cpp b/vulkanon/source/img/bg_menu_leftarrow.cpp new file mode 100644 index 0000000..b87c1ea --- /dev/null +++ b/vulkanon/source/img/bg_menu_leftarrow.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_menu_leftarrow.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_menu_leftarrow { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x3e0,0xc63,0x14a5,0x1ce7,0x2529,0x2d8b,0x35cd,0x3e10,0x4a52,0x5294,0x5ad6,0x6318,0x6b5a,0x739c,0x77bd,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0xb6,0xfd, + 0x0,0xb6,0xfd,0xff, + 0xb6,0xfd,0xff,0xff, + 0xfd,0xff,0xff,0xff, + 0xfd,0xff,0xff,0xff, + 0xb6,0xfd,0xff,0xff, + 0x0,0xb6,0xfd,0xff, + 0x0,0x0,0xb6,0xfd, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_menu_logo.cpp b/vulkanon/source/img/bg_menu_logo.cpp new file mode 100644 index 0000000..ad007f6 --- /dev/null +++ b/vulkanon/source/img/bg_menu_logo.cpp @@ -0,0 +1,580 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_menu_logo.bmp Opened. +Bmp signature found. +Bmp width: 144 +Bmp height: 24 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +16 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 1728 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_menu_logo { + enum { + w = 18, + h = 3, + size = 54, + }; + const unsigned short palette[] = { + 0x0,0x842,0x1084,0x1ce7,0x2529,0x2d6b,0x35ad,0x3def,0x4210,0x4a52,0x56b5,0x5ef7,0x6318,0x6f7b,0x739c,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x61,0x66, + 0x0,0x0,0xf0,0xff, + 0x0,0x0,0xa0,0xff, + 0x0,0x0,0x50,0xff, + 0x0,0x0,0x0,0xff, + 0x0,0x0,0x0,0xfa, + 0x0,0x0,0x0,0xf5, + + // Tile [1 , 0] + 0x0,0x0,0x0,0x0, + 0x6,0x0,0x0,0x0, + 0x2f,0x0,0x0,0x0, + 0x7f,0x0,0x0,0x0, + 0xcf,0x0,0x0,0x0, + 0xff,0x1,0x0,0x0, + 0xff,0x5,0x0,0x0, + 0xff,0xa,0x0,0x0, + + // Tile [2 , 0] + 0x0,0x0,0x0,0x0, + 0x10,0x66,0x66,0x0, + 0x50,0xff,0xcf,0x0, + 0xa0,0xff,0x7f,0x0, + 0xe0,0xff,0x1f,0x0, + 0xf3,0xff,0xc,0x0, + 0xf8,0xff,0x6,0x0, + 0xfd,0xff,0x1,0x50, + + // Tile [3 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x22,0x12,0x0,0x0, + 0xff,0x8f,0x0,0x0, + + // Tile [4 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x10,0x22,0x2,0x0, + 0xc0,0xff,0x2f,0x0, + + // Tile [5 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x60,0x66,0x5, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + + // Tile [6 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x20,0x66,0x36, + 0x0,0x50,0xff,0x9f, + 0x0,0x50,0xff,0x9f, + 0x0,0x50,0xff,0x9f, + 0x0,0x50,0xff,0x9f, + 0x0,0x50,0xff,0x9f, + 0x0,0x50,0xff,0x9f, + + // Tile [7 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x21,0x22, + 0x0,0x10,0xfe,0xff, + + // Tile [8 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x1,0x0,0x0,0x20, + 0x6,0x0,0x60,0xfe, + + // Tile [9 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x54,0x35,0x0,0x0, + 0xff,0xff,0x9f,0x1, + + // Tile [10 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x22, + 0x0,0x0,0x30,0xff, + + // Tile [11 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x12,0x0,0x41,0x35, + 0xaf,0xa1,0xff,0xff, + + // Tile [12 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x5e,0x0,0x0,0x0, + + // Tile [13 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x20,0x55, + 0x0,0x60,0xfe,0xff, + + // Tile [14 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x24,0x0,0x0,0x0, + 0xff,0x6d,0x0,0x0, + + // Tile [15 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x20,0x22,0x1, + 0x0,0xf3,0xff,0x1a, + + // Tile [16 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x10,0x54,0x3,0x0, + 0xfa,0xff,0xef,0x5, + + // Tile [17 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 1] + 0x0,0x0,0x0,0xf0, + 0x0,0x0,0x0,0xa0, + 0x0,0x0,0x0,0x50, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 1] + 0xff,0xe,0x0,0x10, + 0xff,0x3f,0x0,0x60, + 0xff,0x8f,0x0,0xa0, + 0xfe,0xdf,0x0,0xf0, + 0xfa,0xff,0x1,0xf4, + 0xf4,0xff,0x6,0xf9, + 0xe0,0xff,0xb,0xfd, + 0xa0,0xff,0x2f,0xff, + + // Tile [2 , 1] + 0xff,0xbf,0x0,0x50, + 0xff,0x6f,0x0,0x50, + 0xff,0x1f,0x0,0x50, + 0xff,0xb,0x0,0x50, + 0xff,0x5,0x0,0x50, + 0xff,0x0,0x0,0x50, + 0xaf,0x0,0x0,0x50, + 0x5f,0x0,0x0,0x50, + + // Tile [3 , 1] + 0xff,0x8f,0x0,0x0, + 0xff,0x8f,0x0,0x0, + 0xff,0x8f,0x0,0x0, + 0xff,0x8f,0x0,0x0, + 0xff,0x8f,0x0,0x0, + 0xff,0x8f,0x0,0x0, + 0xff,0x8f,0x0,0x0, + 0xff,0x8f,0x0,0x0, + + // Tile [4 , 1] + 0xc0,0xff,0x2f,0x0, + 0xc0,0xff,0x2f,0x0, + 0xc0,0xff,0x2f,0x0, + 0xc0,0xff,0x2f,0x0, + 0xc0,0xff,0x2f,0x0, + 0xc0,0xff,0x2f,0x0, + 0xc0,0xff,0x2f,0x0, + 0xc0,0xff,0x2f,0x0, + + // Tile [5 , 1] + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + + // Tile [6 , 1] + 0x0,0x50,0xff,0x9f, + 0x0,0x50,0xff,0x9f, + 0x0,0x50,0xff,0x9f, + 0x0,0x50,0xff,0x9f, + 0x0,0x50,0xff,0xcf, + 0x0,0x50,0xff,0xff, + 0x0,0x50,0xff,0xff, + 0x0,0x50,0xff,0xff, + + // Tile [7 , 1] + 0x0,0xc0,0xff,0x8f, + 0x0,0xfa,0xff,0x9, + 0x80,0xff,0xaf,0x0, + 0xf5,0xff,0xc,0x0, + 0xff,0xff,0x1,0x0, + 0xff,0xff,0x5,0x0, + 0xff,0xff,0xe,0x0, + 0xce,0xff,0x8f,0x0, + + // Tile [8 , 1] + 0x0,0x0,0xf9,0xff, + 0x0,0x40,0xff,0xff, + 0x0,0xa0,0xff,0x7f, + 0x0,0xa0,0xdd,0xd, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x20,0xb7, + 0x0,0x0,0xf9,0xff, + 0x0,0x80,0xff,0xff, + + // Tile [9 , 1] + 0xff,0xff,0xff,0xd, + 0xce,0xfd,0xff,0x7f, + 0x0,0x50,0xff,0xbf, + 0x0,0x10,0xff,0xcf, + 0x0,0xb3,0xff,0xcf, + 0xfe,0xff,0xff,0xcf, + 0xff,0xff,0xff,0xcf, + 0x7b,0x14,0xff,0xcf, + + // Tile [10 , 1] + 0x0,0x0,0x30,0xff, + 0x0,0x0,0x30,0xff, + 0x0,0x0,0x30,0xff, + 0x0,0x0,0x30,0xff, + 0x0,0x0,0x30,0xff, + 0x0,0x0,0x30,0xff, + 0x0,0x0,0x30,0xff, + 0x0,0x0,0x30,0xff, + + // Tile [11 , 1] + 0xbf,0xfd,0xff,0xff, + 0xff,0xff,0xff,0xff, + 0xff,0x3c,0x0,0xf7, + 0xef,0x1,0x0,0xc0, + 0xbf,0x0,0x0,0xa0, + 0xaf,0x0,0x0,0x90, + 0xaf,0x0,0x0,0x90, + 0xaf,0x0,0x0,0x90, + + // Tile [12 , 1] + 0xff,0x5,0x0,0x0, + 0xff,0xd,0x0,0x0, + 0xff,0x2f,0x0,0x0, + 0xff,0x3f,0x0,0x0, + 0xff,0x4f,0x0,0x0, + 0xff,0x4f,0x0,0x0, + 0xff,0x4f,0x0,0x0, + 0xff,0x4f,0x0,0x0, + + // Tile [13 , 1] + 0x0,0xfb,0xff,0xff, + 0x90,0xff,0xff,0xde, + 0xf2,0xff,0x8f,0x0, + 0xf8,0xff,0xa,0x0, + 0xfc,0xff,0x3,0x0, + 0xfe,0xff,0x0,0x0, + 0xff,0xef,0x0,0x0, + 0xff,0xff,0x0,0x0, + + // Tile [14 , 1] + 0xff,0xff,0xa,0x0, + 0xfe,0xff,0x7f,0x0, + 0x90,0xff,0xff,0x1, + 0x0,0xfb,0xff,0x7, + 0x0,0xf4,0xff,0xb, + 0x0,0xf1,0xff,0xd, + 0x0,0xf0,0xff,0xe, + 0x0,0xf0,0xff,0xe, + + // Tile [15 , 1] + 0x0,0xf3,0xff,0xdb, + 0x0,0xf3,0xff,0xff, + 0x0,0xf3,0xff,0xcf, + 0x0,0xf3,0xff,0x1e, + 0x0,0xf3,0xff,0xb, + 0x0,0xf3,0xff,0xa, + 0x0,0xf3,0xff,0xa, + 0x0,0xf3,0xff,0xa, + + // Tile [16 , 1] + 0xff,0xff,0xff,0x5f, + 0xff,0xff,0xff,0xdf, + 0x3,0x70,0xff,0xff, + 0x0,0x0,0xfc,0xff, + 0x0,0x0,0xfa,0xff, + 0x0,0x0,0xf9,0xff, + 0x0,0x0,0xf9,0xff, + 0x0,0x0,0xf9,0xff, + + // Tile [17 , 1] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + 0x3,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + + // Tile [0 , 2] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 2] + 0x40,0xff,0xbf,0xff, + 0x0,0xfe,0xff,0xff, + 0x0,0xf9,0xff,0xff, + 0x0,0xf4,0xff,0xef, + 0x0,0xe0,0xff,0x9f, + 0x0,0x90,0xff,0x4f, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 2] + 0xf,0x0,0x0,0x50, + 0xa,0x0,0x0,0x50, + 0x4,0x0,0x0,0x40, + 0x0,0x0,0x0,0x10, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 2] + 0xff,0x8f,0x0,0x0, + 0xff,0xaf,0x0,0x0, + 0xff,0xff,0x2,0x0, + 0xff,0xff,0xbf,0xeb, + 0xf9,0xff,0xff,0xff, + 0xb0,0xff,0xff,0xdf, + 0x0,0x83,0x99,0x5, + 0x0,0x0,0x0,0x0, + + // Tile [4 , 2] + 0xc0,0xff,0x2f,0x0, + 0xe0,0xff,0x2f,0x0, + 0xfa,0xff,0x2f,0x0, + 0xff,0xff,0x2f,0x0, + 0xde,0xff,0x2f,0x0, + 0xc2,0xff,0x2f,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [5 , 2] + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0xf2,0xff,0xc, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [6 , 2] + 0x0,0x50,0xff,0xef, + 0x0,0x50,0xff,0x9f, + 0x0,0x50,0xff,0x9f, + 0x0,0x50,0xff,0x9f, + 0x0,0x50,0xff,0x9f, + 0x0,0x50,0xff,0x9f, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [7 , 2] + 0x32,0xff,0xff,0x2, + 0x0,0xfa,0xff,0xb, + 0x0,0xf2,0xff,0x4f, + 0x0,0x90,0xff,0xdf, + 0x0,0x10,0xff,0xff, + 0x0,0x0,0xf8,0xff, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [8 , 2] + 0x0,0xe0,0xff,0x2e, + 0x0,0xf2,0xff,0xb, + 0x0,0xf2,0xff,0xe, + 0x0,0xf0,0xff,0xdf, + 0x7,0x90,0xff,0xff, + 0x1e,0x0,0xfc,0xff, + 0x0,0x0,0x40,0x98, + 0x0,0x0,0x0,0x0, + + // Tile [9 , 2] + 0x0,0x10,0xff,0xcf, + 0x0,0x40,0xff,0xcf, + 0x0,0xd0,0xff,0xcf, + 0x99,0xfe,0xff,0xcf, + 0xff,0xdf,0xff,0xef, + 0xff,0x1a,0xfd,0xff, + 0x38,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [10 , 2] + 0x0,0x0,0x30,0xff, + 0x0,0x0,0x30,0xff, + 0x0,0x0,0x30,0xff, + 0x0,0x0,0x30,0xff, + 0x0,0x0,0x30,0xff, + 0x8,0x0,0x30,0xff, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [11 , 2] + 0xaf,0x0,0x0,0x90, + 0xaf,0x0,0x0,0x90, + 0xaf,0x0,0x0,0x90, + 0xaf,0x0,0x0,0x90, + 0xaf,0x0,0x0,0x90, + 0xaf,0x0,0x0,0x90, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [12 , 2] + 0xff,0x4f,0x0,0x0, + 0xff,0x4f,0x0,0x0, + 0xff,0x4f,0x0,0x0, + 0xff,0x4f,0x0,0x0, + 0xff,0x4f,0x0,0x0, + 0xff,0x4f,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [13 , 2] + 0xfd,0xff,0x2,0x0, + 0xfa,0xff,0x8,0x0, + 0xf4,0xff,0x3f,0x0, + 0xc0,0xff,0xff,0x8a, + 0x10,0xfe,0xff,0xff, + 0x0,0xa1,0xff,0xff, + 0x0,0x0,0x62,0xa9, + 0x0,0x0,0x0,0x0, + + // Tile [14 , 2] + 0x0,0xf3,0xff,0xc, + 0x0,0xf9,0xff,0x9, + 0x50,0xff,0xff,0x3, + 0xfb,0xff,0xaf,0x0, + 0xff,0xff,0x1d,0x0, + 0xff,0xaf,0x1,0x0, + 0x69,0x1,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [15 , 2] + 0x0,0xf3,0xff,0xa, + 0x0,0xf3,0xff,0xa, + 0x0,0xf3,0xff,0xa, + 0x0,0xf3,0xff,0xa, + 0x0,0xf3,0xff,0xa, + 0x0,0xf3,0xff,0xa, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [16 , 2] + 0x0,0x0,0xf9,0xff, + 0x0,0x0,0xf9,0xff, + 0x0,0x0,0xf9,0xff, + 0x0,0x0,0xf9,0xff, + 0x0,0x0,0xf9,0xff, + 0x0,0x0,0xf9,0xff, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [17 , 2] + 0x4,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_menu_rightarrow.cpp b/vulkanon/source/img/bg_menu_rightarrow.cpp new file mode 100644 index 0000000..1f796b8 --- /dev/null +++ b/vulkanon/source/img/bg_menu_rightarrow.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_menu_rightarrow.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_menu_rightarrow { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x3e0,0xc63,0x14a5,0x1ce7,0x2529,0x2d8b,0x35cd,0x3e10,0x4a52,0x5294,0x5ad6,0x6318,0x6b5a,0x739c,0x77bd,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0xdf,0x6b,0x0,0x0, + 0xff,0xdf,0x6b,0x0, + 0xff,0xff,0xdf,0x6b, + 0xff,0xff,0xff,0xdf, + 0xff,0xff,0xff,0xdf, + 0xff,0xff,0xdf,0x6b, + 0xff,0xdf,0x6b,0x0, + 0xdf,0x6b,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_menu_url.cpp b/vulkanon/source/img/bg_menu_url.cpp new file mode 100644 index 0000000..aeab903 --- /dev/null +++ b/vulkanon/source/img/bg_menu_url.cpp @@ -0,0 +1,670 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_menu_url.bmp Opened. +Bmp signature found. +Bmp width: 168 +Bmp height: 24 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +16 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 2016 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_menu_url { + enum { + w = 21, + h = 3, + size = 63, + }; + const unsigned short palette[] = { + 0x0,0x842,0x1084,0x1ce7,0x2529,0x2d6b,0x35ad,0x3def,0x4210,0x4a52,0x56b5,0x5ef7,0x6318,0x6f7b,0x739c,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x50,0x36,0x0, + 0x0,0xd0,0x8f,0x0, + 0x0,0xd0,0x8f,0x0, + + // Tile [1 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x74, + 0x0,0x0,0x0,0xf9, + + // Tile [2 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x5,0x0,0x0,0x74, + 0xc,0x0,0x0,0xf9, + + // Tile [3 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x5,0x0,0x0,0x0, + 0xc,0x0,0x0,0x0, + + // Tile [4 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [5 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x10, + 0x0,0x0,0x0,0xa0, + 0x0,0x0,0x0,0xe0, + + // Tile [6 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x1,0x0,0x11,0x0, + 0x7,0x0,0x7a,0x0, + 0x3,0x0,0x3e,0x0, + + // Tile [7 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [8 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x66,0x2,0x0, + 0x0,0xff,0x6,0x0, + 0x0,0xff,0x6,0x0, + + // Tile [9 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [10 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [11 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [12 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [13 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [14 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [15 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [16 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [17 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [18 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [19 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [20 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x11,0x0, + 0x0,0x0,0x7a,0x0, + 0x0,0x0,0x3e,0x0, + + // Tile [0 , 1] + 0x0,0xd0,0x8f,0x30, + 0x0,0xd0,0x9f,0xfc, + 0x0,0xd0,0xff,0xbe, + 0x0,0xd0,0xcf,0x0, + 0x0,0xd0,0x8f,0x0, + 0x0,0xd0,0x8f,0x0, + 0x0,0xd0,0x8f,0x0, + 0x0,0xd0,0x8f,0x0, + + // Tile [1 , 1] + 0x14,0x0,0x0,0xf9, + 0xff,0x5,0xc0,0xff, + 0xff,0xe,0x70,0xfd, + 0xf6,0x2f,0x0,0xf9, + 0xf3,0x3f,0x0,0xf9, + 0xf3,0x3f,0x0,0xf9, + 0xf3,0x3f,0x0,0xf9, + 0xf3,0x3f,0x0,0xf9, + + // Tile [2 , 1] + 0xc,0x0,0x0,0xf9, + 0xff,0x1,0xc0,0xff, + 0x9e,0x1,0x70,0xfd, + 0xc,0x0,0x0,0xf9, + 0xc,0x0,0x0,0xf9, + 0xc,0x0,0x0,0xf9, + 0xc,0x0,0x0,0xf9, + 0xc,0x0,0x0,0xf9, + + // Tile [3 , 1] + 0xc,0x0,0x30,0x13, + 0xff,0x1,0xf0,0x8f, + 0x9e,0x1,0xf0,0xff, + 0xc,0x0,0xf0,0xdf, + 0xc,0x0,0xf0,0x7f, + 0xc,0x0,0xf0,0x5f, + 0xc,0x0,0xf0,0x7f, + 0xc,0x0,0xf0,0xdf, + + // Tile [4 , 1] + 0x40,0x3,0x0,0x0, + 0xfe,0xef,0x3,0x10, + 0xae,0xff,0x1e,0x10, + 0x0,0xf3,0x6f,0x0, + 0x0,0xc0,0xaf,0x0, + 0x0,0xa0,0xbf,0x0, + 0x0,0xb0,0xaf,0x0, + 0x0,0xf2,0x7f,0x0, + + // Tile [5 , 1] + 0x0,0x0,0x0,0xe3, + 0xdd,0x6,0x0,0xa8, + 0xff,0x7,0x0,0x5c, + 0xaa,0x4,0x10,0x1f, + 0x0,0x0,0x50,0xc, + 0x0,0x0,0xa0,0x8, + 0x0,0x0,0xe0,0x3, + 0x77,0x3,0xe3,0x0, + + // Tile [6 , 1] + 0x0,0x30,0xe,0x0, + 0x0,0x80,0xa,0x0, + 0x0,0xc0,0x5,0x90, + 0x0,0xf1,0x1,0xf1, + 0x0,0xc5,0x0,0xf5, + 0x0,0x8a,0x0,0xf6, + 0x0,0x3e,0x0,0xf5, + 0x30,0xe,0x0,0xf2, + + // Tile [7 , 1] + 0x20,0x14,0x30,0x3, + 0xfa,0xff,0xf6,0x3f, + 0xff,0xcb,0xff,0x3f, + 0x8f,0x0,0xfa,0x3f, + 0x1f,0x0,0xf2,0x3f, + 0xf,0x0,0xf0,0x3f, + 0xf,0x0,0xf2,0x3f, + 0x6f,0x0,0xf9,0x3f, + + // Tile [8 , 1] + 0x0,0xff,0x6,0x34, + 0x0,0xff,0xe9,0xff, + 0x0,0xff,0xef,0xfa, + 0x0,0xff,0x1e,0x30, + 0x0,0xff,0x8,0x0, + 0x0,0xff,0x6,0x0, + 0x0,0xff,0x8,0x0, + 0x0,0xff,0xd,0x20, + + // Tile [9 , 1] + 0x0,0x0,0x0,0x30, + 0x3e,0x0,0x40,0xfe, + 0xef,0x1,0xe0,0xdf, + 0xff,0x7,0xd3,0x1d, + 0xfb,0xa,0x0,0x41, + 0xf9,0xc,0x90,0xff, + 0xfb,0xa,0xf4,0x6f, + 0xff,0x7,0xf8,0xe, + + // Tile [10 , 1] + 0x44,0x1,0x0,0x0, + 0xff,0x8f,0x0,0x0, + 0xc9,0xff,0x3,0x0, + 0x0,0xff,0x5,0x0, + 0xb7,0xff,0x5,0x0, + 0xdf,0xff,0x5,0x0, + 0x1,0xff,0x5,0x0, + 0x30,0xff,0x5,0x76, + + // Tile [11 , 1] + 0x0,0x30,0x13,0x40, + 0x0,0xf0,0x8f,0xfe, + 0x0,0xf0,0xff,0xae, + 0x0,0xf0,0xdf,0x0, + 0x0,0xf0,0x7f,0x0, + 0x0,0xf0,0x5f,0x0, + 0x0,0xf0,0x7f,0x0, + 0x4,0xf0,0xdf,0x0, + + // Tile [12 , 1] + 0x3,0x0,0x0,0x0, + 0xef,0x3,0x0,0xc1, + 0xff,0x1e,0x0,0xfb, + 0xf3,0x6f,0x30,0xff, + 0xc0,0xaf,0x60,0xff, + 0xa0,0xbf,0x80,0xdf, + 0xb0,0xaf,0x70,0xef, + 0xf2,0x7f,0x30,0xff, + + // Tile [13 , 1] + 0x43,0x1,0x33,0x0, + 0xff,0x7f,0xff,0x3, + 0xbf,0xfc,0xff,0x3, + 0x6,0xa0,0xff,0x3, + 0x0,0x30,0xff,0x3, + 0x0,0x20,0xff,0x3, + 0x0,0x30,0xff,0x3, + 0x5,0xa0,0xff,0x3, + + // Tile [14 , 1] + 0x20,0x13,0x30,0x1, + 0xe0,0x7f,0xfb,0x4, + 0xe0,0xef,0xff,0x4, + 0xe0,0xef,0x3,0x20, + 0xe0,0x8f,0x0,0x10, + 0xe0,0x7f,0x0,0x0, + 0xe0,0x7f,0x0,0x0, + 0xe0,0x7f,0x0,0x40, + + // Tile [15 , 1] + 0x0,0x43,0x3,0x0, + 0xd3,0xff,0xff,0x6, + 0xfe,0x8d,0xfb,0x4f, + 0xff,0x4,0xa0,0x6c, + 0xff,0xcf,0x27,0x0, + 0xe5,0xff,0xff,0x2d, + 0x0,0x83,0xfd,0xaf, + 0x9a,0x0,0xa0,0xcf, + + // Tile [16 , 1] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x90, + 0x0,0x0,0x0,0xf9, + 0x0,0x0,0x10,0xff, + 0x0,0x0,0x40,0xff, + 0x0,0x0,0x60,0xff, + 0x0,0x0,0x50,0xff, + 0x60,0x47,0x10,0xff, + + // Tile [17 , 1] + 0x41,0x24,0x0,0x0, + 0xff,0xff,0x1b,0x0, + 0xbf,0xfa,0xdf,0x0, + 0x8,0x40,0xff,0x5, + 0x1,0x0,0xfd,0x9, + 0x0,0x0,0xfb,0xa, + 0x1,0x0,0xfd,0x9, + 0x7,0x30,0xff,0x5, + + // Tile [18 , 1] + 0x20,0x13,0x30,0x1, + 0xe0,0x7f,0xfb,0x4, + 0xe0,0xef,0xff,0x4, + 0xe0,0xef,0x3,0x10, + 0xe0,0x8f,0x0,0x50, + 0xe0,0x7f,0x0,0x60, + 0xe0,0x7f,0x0,0x50, + 0xe0,0x7f,0x0,0x20, + + // Tile [19 , 1] + 0x0,0x42,0x1,0x33, + 0xa0,0xff,0x6f,0xff, + 0xf9,0xbf,0xfc,0xff, + 0xff,0x8,0xa0,0xff, + 0xff,0x1,0x20,0xff, + 0xff,0x0,0x0,0xff, + 0xff,0x0,0x20,0xff, + 0xff,0x6,0x90,0xff, + + // Tile [20 , 1] + 0x0,0x30,0xe,0x0, + 0x3,0x80,0xa,0x0, + 0x3,0xc0,0x5,0x0, + 0x3,0xf1,0x1,0x0, + 0x3,0xc5,0x0,0x0, + 0x3,0x8a,0x0,0x0, + 0x3,0x3e,0x0,0x0, + 0x33,0xe,0x0,0x0, + + // Tile [0 , 2] + 0x0,0xd0,0x8f,0x0, + 0x0,0xd0,0x8f,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 2] + 0xf3,0x3f,0x0,0xf9, + 0xf3,0x3f,0x0,0xf4, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 2] + 0x6e,0x0,0x0,0xf9, + 0xff,0x1,0x0,0xf4, + 0x55,0x0,0x0,0x20, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 2] + 0x6e,0x0,0xf0,0xff, + 0xff,0x1,0xf0,0x9f, + 0x55,0x0,0xf0,0x5f, + 0x0,0x0,0xf0,0x5f, + 0x0,0x0,0xf0,0x5f, + 0x0,0x0,0xb0,0x3b, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [4 , 2] + 0x9d,0xfe,0x1e,0x10, + 0xfe,0xef,0x3,0x10, + 0x51,0x15,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [5 , 2] + 0xff,0x7,0xa7,0x0, + 0xff,0x7,0x5c,0x0, + 0x0,0x0,0x3,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [6 , 2] + 0x70,0xa,0x0,0xb0, + 0xc0,0x5,0x0,0x10, + 0x30,0x0,0x0,0x0, + 0x0,0x0,0x0,0xe2, + 0x0,0x0,0x0,0xa0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [7 , 2] + 0xff,0xba,0xff,0x3f, + 0xfd,0xff,0xf8,0x3f, + 0x40,0x25,0xf1,0x2f, + 0x7e,0x0,0xf8,0xe, + 0xff,0xee,0xff,0x5, + 0x94,0xaa,0x28,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [8 , 2] + 0x0,0xff,0xdf,0xe9, + 0x0,0xff,0xfa,0xff, + 0x0,0x0,0x10,0x45, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [9 , 2] + 0xef,0x1,0xf6,0xbf, + 0x3e,0x0,0xc0,0xff, + 0x0,0x0,0x0,0x54, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [10 , 2] + 0xe9,0xff,0x5,0xfe, + 0x8f,0xfd,0xb,0xfe, + 0x2,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [11 , 2] + 0xa,0xf0,0xff,0x9d, + 0xa,0xf0,0x9f,0xfe, + 0x0,0xf0,0x5f,0x51, + 0x0,0xf0,0x5f,0x0, + 0x0,0xf0,0x5f,0x0, + 0x0,0xb0,0x3b,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [12 , 2] + 0xfe,0x1e,0x0,0xfc, + 0xef,0x3,0x0,0xd2, + 0x15,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [13 , 2] + 0xaf,0xfb,0xff,0x3, + 0xff,0x8f,0xff,0x3, + 0x54,0x22,0xff,0x3, + 0x0,0x20,0xff,0x3, + 0x0,0x20,0xff,0x3, + 0x0,0x10,0xbb,0x2, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [14 , 2] + 0xe0,0x7f,0x0,0x30, + 0xe0,0x7f,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [15 , 2] + 0xff,0x7b,0xf9,0x8f, + 0xf7,0xff,0xff,0xb, + 0x10,0x54,0x25,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [16 , 2] + 0xe0,0xaf,0x0,0xf9, + 0xe0,0xaf,0x0,0xa0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [17 , 2] + 0xaf,0xe9,0xdf,0x0, + 0xff,0xff,0x2c,0x0, + 0x52,0x35,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [18 , 2] + 0xe0,0x7f,0x0,0x0, + 0xe0,0x7f,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x20, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [19 , 2] + 0xfb,0xaf,0xfb,0xff, + 0xd1,0xff,0x8f,0xff, + 0x0,0x54,0x12,0xff, + 0xee,0x7,0x80,0xef, + 0xfa,0xef,0xfe,0x5f, + 0x40,0xa9,0x8a,0x2, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [20 , 2] + 0x73,0xa,0x0,0x0, + 0xc3,0x5,0x0,0x0, + 0x32,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_menu_version.cpp b/vulkanon/source/img/bg_menu_version.cpp new file mode 100644 index 0000000..2b2ecc5 --- /dev/null +++ b/vulkanon/source/img/bg_menu_version.cpp @@ -0,0 +1,100 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_menu_version.bmp Opened. +Bmp signature found. +Bmp width: 48 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 192 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_menu_version { + enum { + w = 6, + h = 1, + size = 6, + }; + const unsigned short palette[] = { + 0x3e0,0xc63,0x14a5,0x1ce7,0x2529,0x2d8b,0x35cd,0x3e10,0x4a52,0x5294,0x5ad6,0x6318,0x6b5a,0x739c,0x77bd,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0xf0, + 0x0,0x0,0x0,0xf0, + 0x0,0x0,0x0,0xb0, + 0x0,0x0,0x0,0x30, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 0] + 0x0,0xf0,0x0,0x0, + 0x0,0xf0,0x0,0x0, + 0x5,0xb5,0x40,0xfd, + 0xc,0x3c,0xe0,0x3, + 0xab,0xb,0xf0,0xff, + 0xf3,0x3,0xe0,0x3, + 0x70,0x0,0x40,0xfe, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x4d,0xf0,0xc2,0x4e, + 0xd3,0xf0,0x2c,0xe3, + 0xff,0xf0,0x1,0x0, + 0x0,0xf0,0x0,0x0, + 0xff,0xf0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x70,0xfd,0xff,0xf0, + 0xf1,0x4,0x0,0x0, + 0x60,0xfd,0x5d,0x0, + 0x0,0x0,0xe4,0x0, + 0xf2,0xff,0x5c,0xf0, + 0x0,0x0,0x0,0x0, + + // Tile [4 , 0] + 0xb,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xf,0x40,0xfd,0x4d, + 0xf,0xe0,0x3,0xd3, + 0xf,0xf0,0x0,0xf0, + 0xf,0xe0,0x3,0xd3, + 0xff,0x40,0xfe,0x4e, + 0x0,0x0,0x0,0x0, + + // Tile [5 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xf0,0xc2,0x4e,0x0, + 0xf0,0x2c,0xe3,0x0, + 0xf0,0x1,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0xf0,0x0,0xf0,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_number.cpp b/vulkanon/source/img/bg_number.cpp new file mode 100644 index 0000000..f52f7fa --- /dev/null +++ b/vulkanon/source/img/bg_number.cpp @@ -0,0 +1,140 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_number.bmp Opened. +Bmp signature found. +Bmp width: 80 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 320 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_number { + enum { + w = 10, + h = 1, + size = 10, + }; + const unsigned short palette[] = { + 0x3e0,0xc63,0x14a5,0x1ce7,0x2529,0x2d8b,0x35cd,0x3e10,0x4a52,0x5294,0x5ad6,0x6318,0x6b5a,0x739c,0x77bd,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x41,0xfd,0x4d,0x11, + 0xe1,0x13,0xd6,0x11, + 0xf1,0x31,0xfe,0x11, + 0xf1,0xe3,0xf3,0x11, + 0xf1,0x3e,0xf1,0x11, + 0xe1,0x16,0xd3,0x11, + 0x41,0xfe,0x4e,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [1 , 0] + 0x11,0xf3,0x11,0x11, + 0x71,0xff,0x11,0x11, + 0x11,0xf1,0x11,0x11, + 0x11,0xf1,0x11,0x11, + 0x11,0xf1,0x11,0x11, + 0x11,0xf1,0x11,0x11, + 0xf1,0xff,0xff,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [2 , 0] + 0x41,0xfd,0x4d,0x11, + 0xe1,0x13,0xe3,0x11, + 0x11,0x11,0xd3,0x11, + 0x11,0x31,0x3d,0x11, + 0x11,0xd3,0x13,0x11, + 0x31,0x3d,0x11,0x11, + 0xe1,0xff,0xff,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [3 , 0] + 0x41,0xfe,0x4e,0x11, + 0xe1,0x13,0xe3,0x11, + 0x11,0x11,0xd3,0x11, + 0x11,0xf1,0x6f,0x11, + 0x11,0x11,0xd3,0x11, + 0xe1,0x13,0xe3,0x11, + 0x41,0xfe,0x4e,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [4 , 0] + 0x11,0x31,0x1e,0x11, + 0x11,0xd3,0x1f,0x11, + 0x31,0x3d,0x1f,0x11, + 0xe1,0x13,0x1f,0x11, + 0xf1,0xff,0xff,0x11, + 0x11,0x11,0x1f,0x11, + 0x11,0xf1,0xff,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [5 , 0] + 0xf1,0xff,0xff,0x11, + 0xf1,0x11,0x11,0x11, + 0xf1,0xff,0x4d,0x11, + 0x11,0x11,0xd3,0x11, + 0x11,0x11,0xf1,0x11, + 0xe1,0x13,0xd3,0x11, + 0x41,0xfe,0x4e,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [6 , 0] + 0x41,0xfd,0x1f,0x11, + 0xe1,0x13,0x11,0x11, + 0xf1,0xff,0x4d,0x11, + 0xf1,0x11,0xd3,0x11, + 0xf1,0x11,0xf1,0x11, + 0xe1,0x13,0xd3,0x11, + 0x41,0xfe,0x4e,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [7 , 0] + 0xf1,0xff,0xff,0x11, + 0x11,0x11,0xf1,0x11, + 0x11,0x11,0xe3,0x11, + 0x11,0x31,0x3d,0x11, + 0x11,0xe1,0x13,0x11, + 0x11,0xf1,0x11,0x11, + 0x11,0xf1,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [8 , 0] + 0x41,0xfe,0x4e,0x11, + 0xe1,0x13,0xe3,0x11, + 0xd1,0x13,0xd3,0x11, + 0x61,0xff,0x6f,0x11, + 0xd1,0x13,0xd3,0x11, + 0xe1,0x13,0xe3,0x11, + 0x41,0xfe,0x4e,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [9 , 0] + 0x41,0xfd,0x4d,0x11, + 0xe1,0x13,0xd3,0x11, + 0xf1,0x11,0xf1,0x11, + 0xe1,0x13,0xf1,0x11, + 0x41,0xfe,0xff,0x11, + 0x11,0x11,0xd3,0x11, + 0x11,0xff,0x4e,0x11, + 0x11,0x11,0x11,0x11, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_replay.cpp b/vulkanon/source/img/bg_replay.cpp new file mode 100644 index 0000000..0079e67 --- /dev/null +++ b/vulkanon/source/img/bg_replay.cpp @@ -0,0 +1,90 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_replay.bmp Opened. +Bmp signature found. +Bmp width: 40 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 160 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_replay { + enum { + w = 5, + h = 1, + size = 5, + }; + const unsigned short palette[] = { + 0x3e0,0xc63,0x14a5,0x1ce7,0x2529,0x2d8b,0x35cd,0x3e10,0x4a52,0x5294,0x5ad6,0x6318,0x6b5a,0x739c,0x77bd,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0xf1,0xff,0x4e,0x11, + 0xf1,0x11,0xe3,0x11, + 0xf1,0x11,0xd3,0x41, + 0xf1,0xff,0x6f,0xe1, + 0xf1,0x11,0xd3,0xf1, + 0xf1,0x11,0xf1,0xe1, + 0xf1,0x11,0xf1,0x41, + 0x11,0x11,0x11,0x11, + + // Tile [1 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0xf1,0xff, + 0xfd,0x4d,0xf1,0x11, + 0x13,0xd3,0xf1,0x11, + 0xff,0xff,0xf1,0x11, + 0x13,0x11,0xf1,0xff, + 0xfe,0xff,0xf1,0x11, + 0x11,0x11,0xf1,0x11, + + // Tile [2 , 0] + 0x11,0xf1,0x1f,0x11, + 0x4d,0x11,0x1f,0x11, + 0xd3,0x11,0x1f,0x41, + 0xf1,0x11,0x1f,0xe1, + 0xd3,0x11,0x1f,0xf1, + 0x4e,0x11,0x1f,0xe1, + 0x11,0xf1,0xff,0x41, + 0x11,0x11,0x11,0x11, + + // Tile [3 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0xf1,0x11, + 0xfe,0xff,0xf1,0x11, + 0x13,0xf1,0xf1,0x11, + 0x11,0xf1,0xe1,0x13, + 0x23,0xfc,0x41,0xfe, + 0xce,0xf2,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [4 , 0] + 0x11,0x11,0x11,0x11, + 0xf1,0x11,0x11,0x11, + 0xf1,0x11,0x11,0x11, + 0xf1,0x11,0x11,0x11, + 0xf1,0x11,0x11,0x11, + 0xff,0x11,0x11,0x11, + 0xe3,0x11,0x11,0x11, + 0xf1,0x11,0x11,0x11, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_result_bestplay.cpp b/vulkanon/source/img/bg_result_bestplay.cpp new file mode 100644 index 0000000..19a6037 --- /dev/null +++ b/vulkanon/source/img/bg_result_bestplay.cpp @@ -0,0 +1,340 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_result_bestplay.bmp Opened. +Bmp signature found. +Bmp width: 120 +Bmp height: 16 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +16 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 960 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_result_bestplay { + enum { + w = 15, + h = 2, + size = 30, + }; + const unsigned short palette[] = { + 0x0,0x842,0x1084,0x1ce7,0x2529,0x2d6b,0x35ad,0x3def,0x4210,0x4a52,0x56b5,0x5ef7,0x6318,0x6f7b,0x739c,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x41,0xff,0xff,0xff, + 0x41,0xff,0xff,0xff, + 0x41,0xff,0xcf,0xbb, + 0x41,0xff,0x3f,0x11, + 0x41,0xff,0x3f,0x11, + 0x41,0xff,0x3f,0x11, + 0x41,0xff,0xbf,0xaa, + 0x41,0xff,0xff,0xff, + + // Tile [1 , 0] + 0xff,0x9d,0x13,0x11, + 0xff,0xff,0x3e,0x11, + 0xdb,0xff,0xcf,0x11, + 0x11,0xf6,0xff,0x12, + 0x11,0xf1,0xff,0x13, + 0x11,0xf5,0xef,0x11, + 0xca,0xff,0x4f,0x11, + 0xff,0xff,0x16,0x11, + + // Tile [2 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x12, + 0x11,0x82,0xfe,0xdf, + 0x21,0xfd,0xff,0xff, + 0xa1,0xff,0x6d,0xd6, + 0xf2,0xff,0x12,0x21, + + // Tile [3 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x18,0x11,0x11,0xa3, + 0xdf,0x12,0x31,0xfe, + 0xff,0x1a,0xb1,0xff, + 0xff,0x2f,0xe1,0xff, + + // Tile [4 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x21,0x12,0x11,0x11, + 0xfe,0xef,0x3a,0x11, + 0xff,0xff,0xff,0x14, + 0x7c,0xc7,0xff,0x1d, + 0x14,0x11,0xfe,0x2f, + + // Tile [5 , 0] + 0x11,0x11,0x11,0x11, + 0x31,0xdd,0x1c,0x11, + 0x31,0xff,0x1e,0x11, + 0x31,0xff,0x1e,0x11, + 0xb7,0xff,0xaf,0x17, + 0xfb,0xff,0xff,0x1a, + 0x85,0xff,0x7e,0x15, + 0x31,0xff,0x1e,0x11, + + // Tile [6 , 0] + 0x61,0xff,0xff,0xff, + 0x61,0xff,0xff,0xff, + 0x61,0xff,0xbf,0xbb, + 0x61,0xff,0x1f,0x11, + 0x61,0xff,0x1f,0x11, + 0x61,0xff,0x1f,0x11, + 0x61,0xff,0x1f,0x11, + 0x61,0xff,0x8f,0x88, + + // Tile [7 , 0] + 0xff,0x8d,0x11,0x11, + 0xff,0xff,0x1c,0x11, + 0xec,0xff,0x7f,0x11, + 0x21,0xfd,0xcf,0x11, + 0x11,0xf7,0xef,0x11, + 0x11,0xf7,0xef,0x11, + 0x11,0xfb,0xcf,0x11, + 0xc8,0xff,0x7f,0x11, + + // Tile [8 , 0] + 0xf9,0x9f,0x11,0x11, + 0xf9,0x9f,0x11,0x11, + 0xf9,0x9f,0x11,0x11, + 0xf9,0x9f,0x11,0x11, + 0xf9,0x9f,0x11,0x41, + 0xf9,0x9f,0x11,0xf4, + 0xf9,0x9f,0x11,0xfc, + 0xf9,0x9f,0x21,0xff, + + // Tile [9 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x22,0x11,0x11, + 0xeb,0xff,0xbe,0x14, + 0xff,0xff,0xff,0x4f, + 0xcf,0x87,0xfd,0xbf, + 0x1e,0x11,0xf4,0xdf, + + // Tile [10 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x91,0xee,0x1a,0x11, + 0x51,0xff,0x2f,0x11, + 0x11,0xfe,0x5f,0x11, + 0x11,0xf9,0xaf,0x11, + + // Tile [11 , 0] + 0x11,0x11,0x11,0x81, + 0x11,0x11,0x11,0x91, + 0x11,0x11,0x11,0x91, + 0x11,0x11,0x11,0x91, + 0x71,0xee,0x1a,0x91, + 0xb1,0xff,0x16,0x71, + 0xf2,0xff,0x12,0x51, + 0xf5,0xaf,0x11,0x31, + + // Tile [12 , 0] + 0xff,0x1c,0x11,0xf8, + 0xff,0x1c,0x11,0xf9, + 0xff,0x1c,0x11,0xf9, + 0xff,0x1c,0x11,0xf9, + 0xff,0x1c,0x11,0xf9, + 0xff,0x1a,0x11,0xf7, + 0xff,0x18,0x11,0xf5, + 0xff,0x16,0x11,0xf3, + + // Tile [13 , 0] + 0xcf,0x11,0x81,0xff, + 0xcf,0x11,0x91,0xff, + 0xcf,0x11,0x91,0xff, + 0xcf,0x11,0x91,0xff, + 0xcf,0x11,0x91,0xff, + 0xaf,0x11,0x71,0xff, + 0x8f,0x11,0x51,0xff, + 0x6f,0x11,0x31,0xff, + + // Tile [14 , 0] + 0x1c,0x11,0x11,0x11, + 0x1c,0x11,0x11,0x11, + 0x1c,0x11,0x11,0x11, + 0x1c,0x11,0x11,0x11, + 0x1c,0x11,0x11,0x11, + 0x1a,0x11,0x11,0x11, + 0x18,0x11,0x11,0x11, + 0x16,0x11,0x11,0x11, + + // Tile [0 , 1] + 0x41,0xff,0xff,0xff, + 0x41,0xff,0x4f,0x22, + 0x41,0xff,0x3f,0x11, + 0x41,0xff,0x3f,0x11, + 0x41,0xff,0x3f,0x11, + 0x41,0xff,0xcf,0xcc, + 0x41,0xff,0xff,0xff, + 0x41,0xff,0xff,0xff, + + // Tile [1 , 1] + 0xff,0xff,0x6f,0x11, + 0x32,0xf7,0xff,0x13, + 0x11,0xa1,0xff,0x19, + 0x11,0x91,0xff,0x1a, + 0x11,0xe2,0xff,0x18, + 0xcc,0xff,0xff,0x13, + 0xff,0xff,0x7f,0x11, + 0xff,0xae,0x14,0x11, + + // Tile [2 , 1] + 0xf6,0xbf,0x11,0x11, + 0xf8,0xff,0xff,0xff, + 0xf8,0xff,0xff,0xff, + 0xf7,0xaf,0x11,0x11, + 0xf4,0xcf,0x11,0x11, + 0xe1,0xff,0x16,0x51, + 0x61,0xff,0xef,0xfe, + 0x11,0xe6,0xff,0xff, + + // Tile [3 , 1] + 0xfc,0x6f,0xd1,0xff, + 0xff,0x8f,0x81,0xff, + 0xff,0x9f,0x11,0xc6, + 0x11,0x11,0x11,0x11, + 0x64,0x36,0x83,0x68, + 0xff,0x3f,0xf4,0xff, + 0xff,0x17,0xd1,0xff, + 0x6e,0x11,0x21,0xfb, + + // Tile [4 , 1] + 0x9e,0x15,0x11,0x11, + 0xff,0xff,0x6b,0x11, + 0xff,0xff,0xff,0x1b, + 0x62,0xfb,0xff,0x5f, + 0x11,0x21,0xfd,0x7f, + 0x14,0x31,0xfd,0x5f, + 0xef,0xfe,0xff,0x1d, + 0xff,0xff,0xcf,0x13, + + // Tile [5 , 1] + 0x31,0xff,0x1e,0x11, + 0x31,0xff,0x1e,0x11, + 0x31,0xff,0x1e,0x11, + 0x31,0xff,0x1e,0x11, + 0x31,0xff,0x1e,0x11, + 0x31,0xff,0x1f,0x11, + 0x21,0xff,0xef,0x19, + 0x11,0xfa,0xff,0x1a, + + // Tile [6 , 1] + 0x61,0xff,0xff,0xff, + 0x61,0xff,0xff,0xff, + 0x61,0xff,0x5f,0x55, + 0x61,0xff,0x1f,0x11, + 0x61,0xff,0x1f,0x11, + 0x61,0xff,0x1f,0x11, + 0x61,0xff,0x1f,0x11, + 0x61,0xff,0x1f,0x11, + + // Tile [7 , 1] + 0xff,0xff,0x1d,0x11, + 0xff,0xbf,0x12,0x11, + 0x45,0x12,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [8 , 1] + 0xf9,0x9f,0x11,0x11, + 0xf9,0x9f,0x11,0x51, + 0xf9,0x9f,0x11,0xf9, + 0xf9,0x9f,0x31,0xff, + 0xf9,0x9f,0x61,0xff, + 0xf9,0x9f,0x61,0xff, + 0xf9,0x9f,0x21,0xff, + 0xf9,0x9f,0x11,0xf7, + + // Tile [9 , 1] + 0x11,0x41,0xfb,0xdf, + 0xda,0xff,0xff,0xdf, + 0xff,0xcf,0xfa,0xdf, + 0x5f,0x11,0xf4,0xdf, + 0x1c,0x11,0xf7,0xdf, + 0x4e,0x41,0xfe,0xdf, + 0xff,0xff,0xff,0xef, + 0xff,0xdf,0xf4,0xff, + + // Tile [10 , 1] + 0x11,0xf4,0xef,0x11, + 0x11,0xe1,0xff,0x14, + 0x11,0x81,0xff,0x38, + 0x11,0x31,0xff,0x7d, + 0x11,0x11,0xfd,0xdf, + 0x11,0x11,0xf7,0xff, + 0x11,0x11,0xf2,0xff, + 0x16,0x11,0xb1,0xff, + + // Tile [11 , 1] + 0xf9,0x6f,0x11,0x11, + 0xfd,0x1e,0x11,0x11, + 0xff,0x1a,0x11,0x11, + 0xff,0x15,0x11,0x11, + 0xef,0x11,0x11,0x31, + 0x9f,0x11,0x11,0x91, + 0x4f,0x11,0x11,0x91, + 0x1e,0x11,0x11,0x91, + + // Tile [12 , 1] + 0xff,0x14,0x11,0xf1, + 0xfe,0x13,0x11,0xe1, + 0xfc,0x11,0x11,0xc1, + 0x75,0x11,0x11,0x51, + 0x44,0x13,0x11,0x43, + 0xff,0x1c,0x11,0xf9, + 0xff,0x1c,0x11,0xf9, + 0xff,0x1c,0x11,0xf9, + + // Tile [13 , 1] + 0x4f,0x11,0x11,0xff, + 0x3f,0x11,0x11,0xfe, + 0x1f,0x11,0x11,0xfc, + 0x17,0x11,0x11,0x75, + 0x34,0x11,0x31,0x44, + 0xcf,0x11,0x91,0xff, + 0xcf,0x11,0x91,0xff, + 0xcf,0x11,0x91,0xff, + + // Tile [14 , 1] + 0x14,0x11,0x11,0x11, + 0x13,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x13,0x11,0x11,0x11, + 0x1c,0x11,0x11,0x11, + 0x1c,0x11,0x11,0x11, + 0x1c,0x11,0x11,0x11, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_result_bestscore.cpp b/vulkanon/source/img/bg_result_bestscore.cpp new file mode 100644 index 0000000..d09a372 --- /dev/null +++ b/vulkanon/source/img/bg_result_bestscore.cpp @@ -0,0 +1,380 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_result_bestscore.bmp Opened. +Bmp signature found. +Bmp width: 136 +Bmp height: 16 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +16 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 1088 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_result_bestscore { + enum { + w = 17, + h = 2, + size = 34, + }; + const unsigned short palette[] = { + 0x0,0x842,0x1084,0x1ce7,0x2529,0x2d6b,0x35ad,0x3def,0x4210,0x4a52,0x56b5,0x5ef7,0x6318,0x6f7b,0x739c,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x41,0xff,0xff,0xff, + 0x41,0xff,0xff,0xff, + 0x41,0xff,0xcf,0xbb, + 0x41,0xff,0x3f,0x11, + 0x41,0xff,0x3f,0x11, + 0x41,0xff,0x3f,0x11, + 0x41,0xff,0xbf,0xaa, + 0x41,0xff,0xff,0xff, + + // Tile [1 , 0] + 0xff,0x9d,0x13,0x11, + 0xff,0xff,0x3e,0x11, + 0xdb,0xff,0xcf,0x11, + 0x11,0xf6,0xff,0x12, + 0x11,0xf1,0xff,0x13, + 0x11,0xf5,0xef,0x11, + 0xca,0xff,0x4f,0x11, + 0xff,0xff,0x16,0x11, + + // Tile [2 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x12, + 0x11,0x82,0xfe,0xdf, + 0x21,0xfd,0xff,0xff, + 0xa1,0xff,0x6d,0xd6, + 0xf2,0xff,0x12,0x21, + + // Tile [3 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x18,0x11,0x11,0xa3, + 0xdf,0x12,0x31,0xfe, + 0xff,0x1a,0xb1,0xff, + 0xff,0x2f,0xe1,0xff, + + // Tile [4 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x21,0x12,0x11,0x11, + 0xfe,0xef,0x3a,0x11, + 0xff,0xff,0xff,0x14, + 0x7c,0xc7,0xff,0x1d, + 0x14,0x11,0xfe,0x2f, + + // Tile [5 , 0] + 0x11,0x11,0x11,0x11, + 0x31,0xdd,0x1c,0x11, + 0x31,0xff,0x1e,0x11, + 0x31,0xff,0x1e,0x11, + 0xb7,0xff,0xaf,0x17, + 0xfb,0xff,0xff,0x1a, + 0x85,0xff,0x7e,0x15, + 0x31,0xff,0x1e,0x11, + + // Tile [6 , 0] + 0x11,0x21,0xe9,0xff, + 0x11,0xd2,0xff,0xff, + 0x11,0xf9,0xff,0x69, + 0x11,0xfe,0x6f,0x11, + 0x11,0xff,0x3f,0x11, + 0x11,0xfe,0xaf,0x12, + 0x11,0xfa,0xff,0xcf, + 0x11,0xd2,0xff,0xff, + + // Tile [7 , 0] + 0xff,0xaf,0x13,0x11, + 0xff,0xff,0x4f,0x11, + 0x96,0xff,0xdf,0x11, + 0x11,0xf4,0xff,0x13, + 0x11,0xb1,0xdd,0x15, + 0x11,0x11,0x11,0x11, + 0x69,0x13,0x11,0x11, + 0xff,0xef,0x29,0x11, + + // Tile [8 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x21, + 0x11,0x11,0xd7,0xff, + 0x11,0xa1,0xff,0xff, + 0x11,0xf6,0xff,0x79, + 0x11,0xfd,0x7f,0x11, + + // Tile [9 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0xbf,0x14,0x11,0x11, + 0xff,0x5f,0x11,0x81, + 0xfc,0xef,0x11,0xf5, + 0xd1,0xff,0x15,0xfc, + + // Tile [10 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x21,0x11,0x11, + 0xc5,0xff,0xdf,0x17, + 0xff,0xff,0xff,0xcf, + 0xff,0x7b,0xf9,0xff, + 0xaf,0x11,0x61,0xff, + + // Tile [11 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x91,0xee,0x37, + 0x12,0xa1,0xff,0xe9, + 0x19,0xa1,0xff,0xff, + 0x2f,0xa1,0xff,0x7f, + + // Tile [12 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x21,0x11,0x11,0x11, + 0xfc,0x13,0x21,0xe8, + 0xff,0x13,0xd2,0xff, + 0xff,0x13,0xfa,0xdf, + 0x12,0x21,0xff,0x2f, + + // Tile [13 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x21,0x11,0x11,0x11, + 0xff,0x8d,0x11,0x11, + 0xff,0xff,0x2d,0x11, + 0x66,0xfd,0xaf,0x11, + 0x11,0xf2,0xff,0x12, + + // Tile [14 , 0] + 0x81,0xff,0x1c,0x11, + 0x91,0xff,0x1c,0x11, + 0x91,0xff,0x1c,0x11, + 0x91,0xff,0x1c,0x11, + 0x91,0xff,0x1c,0x11, + 0x71,0xff,0x1a,0x11, + 0x51,0xff,0x18,0x11, + 0x31,0xff,0x16,0x11, + + // Tile [15 , 0] + 0xf8,0xcf,0x11,0x81, + 0xf9,0xcf,0x11,0x91, + 0xf9,0xcf,0x11,0x91, + 0xf9,0xcf,0x11,0x91, + 0xf9,0xcf,0x11,0x91, + 0xf7,0xaf,0x11,0x71, + 0xf5,0x8f,0x11,0x51, + 0xf3,0x6f,0x11,0x31, + + // Tile [16 , 0] + 0xff,0x1c,0x11,0x11, + 0xff,0x1c,0x11,0x11, + 0xff,0x1c,0x11,0x11, + 0xff,0x1c,0x11,0x11, + 0xff,0x1c,0x11,0x11, + 0xff,0x1a,0x11,0x11, + 0xff,0x18,0x11,0x11, + 0xff,0x16,0x11,0x11, + + // Tile [0 , 1] + 0x41,0xff,0xff,0xff, + 0x41,0xff,0x4f,0x22, + 0x41,0xff,0x3f,0x11, + 0x41,0xff,0x3f,0x11, + 0x41,0xff,0x3f,0x11, + 0x41,0xff,0xcf,0xcc, + 0x41,0xff,0xff,0xff, + 0x41,0xff,0xff,0xff, + + // Tile [1 , 1] + 0xff,0xff,0x6f,0x11, + 0x32,0xf7,0xff,0x13, + 0x11,0xa1,0xff,0x19, + 0x11,0x91,0xff,0x1a, + 0x11,0xe2,0xff,0x18, + 0xcc,0xff,0xff,0x13, + 0xff,0xff,0x7f,0x11, + 0xff,0xae,0x14,0x11, + + // Tile [2 , 1] + 0xf6,0xbf,0x11,0x11, + 0xf8,0xff,0xff,0xff, + 0xf8,0xff,0xff,0xff, + 0xf7,0xaf,0x11,0x11, + 0xf4,0xcf,0x11,0x11, + 0xe1,0xff,0x16,0x51, + 0x61,0xff,0xef,0xfe, + 0x11,0xe6,0xff,0xff, + + // Tile [3 , 1] + 0xfc,0x6f,0xd1,0xff, + 0xff,0x8f,0x81,0xff, + 0xff,0x9f,0x11,0xc6, + 0x11,0x11,0x11,0x11, + 0x64,0x36,0x83,0x68, + 0xff,0x3f,0xf4,0xff, + 0xff,0x17,0xd1,0xff, + 0x6e,0x11,0x21,0xfb, + + // Tile [4 , 1] + 0x9e,0x15,0x11,0x11, + 0xff,0xff,0x6b,0x11, + 0xff,0xff,0xff,0x1b, + 0x62,0xfb,0xff,0x5f, + 0x11,0x21,0xfd,0x7f, + 0x14,0x31,0xfd,0x5f, + 0xef,0xfe,0xff,0x1d, + 0xff,0xff,0xcf,0x13, + + // Tile [5 , 1] + 0x31,0xff,0x1e,0x11, + 0x31,0xff,0x1e,0x11, + 0x31,0xff,0x1e,0x11, + 0x31,0xff,0x1e,0x11, + 0x31,0xff,0x1e,0x11, + 0x31,0xff,0x1f,0x11, + 0x21,0xff,0xef,0x19, + 0x11,0xfa,0xff,0x1a, + + // Tile [6 , 1] + 0x11,0x11,0xb6,0xfe, + 0x11,0x11,0x11,0x31, + 0x11,0x11,0x11,0x11, + 0x41,0xdd,0x1c,0x11, + 0x21,0xff,0x6f,0x11, + 0x11,0xfb,0xff,0x48, + 0x11,0xe3,0xff,0xff, + 0x11,0x31,0xfb,0xff, + + // Tile [7 , 1] + 0xff,0xff,0xef,0x12, + 0x96,0xfe,0xff,0x19, + 0x11,0xb1,0xff,0x1d, + 0x11,0x51,0xff,0x1e, + 0x11,0x71,0xff,0x1c, + 0x43,0xf9,0xff,0x17, + 0xff,0xff,0xcf,0x11, + 0xff,0xff,0x29,0x11, + + // Tile [8 , 1] + 0x21,0xff,0x2f,0x11, + 0x41,0xff,0x1e,0x11, + 0x41,0xff,0x1d,0x11, + 0x31,0xff,0x1e,0x11, + 0x11,0xff,0x4f,0x11, + 0x11,0xfa,0xdf,0x13, + 0x11,0xe3,0xff,0xff, + 0x11,0x41,0xfd,0xff, + + // Tile [9 , 1] + 0x51,0x99,0x24,0xff, + 0x11,0x11,0x41,0xff, + 0x11,0x11,0x41,0xff, + 0x21,0x33,0x32,0xff, + 0xb1,0xff,0x16,0xfe, + 0xf6,0xff,0x12,0xf9, + 0xff,0x8f,0x11,0xd2, + 0xff,0x19,0x11,0x21, + + // Tile [10 , 1] + 0x3f,0x11,0x11,0xfd, + 0x1e,0x11,0x11,0xfa, + 0x1d,0x11,0x11,0xf9, + 0x1f,0x11,0x11,0xfb, + 0x6f,0x11,0x21,0xff, + 0xef,0x15,0xc3,0xff, + 0xff,0xff,0xff,0xff, + 0xfb,0xff,0xff,0x4d, + + // Tile [11 , 1] + 0x6f,0xa1,0xff,0x1a, + 0x8f,0xa1,0xff,0x18, + 0x8f,0xa1,0xff,0x18, + 0x7f,0xa1,0xff,0x18, + 0x4f,0xa1,0xff,0x18, + 0x1d,0xa1,0xff,0x18, + 0x14,0xa1,0xff,0x18, + 0x11,0xa1,0xff,0x18, + + // Tile [12 , 1] + 0x11,0x61,0xff,0x1b, + 0x11,0x81,0xff,0xff, + 0x11,0x81,0xff,0xff, + 0x11,0x71,0xff,0x1a, + 0x11,0x41,0xff,0x1c, + 0x11,0x11,0xfe,0x6f, + 0x11,0x11,0xf6,0xff, + 0x11,0x11,0x61,0xfe, + + // Tile [13 , 1] + 0x11,0xc1,0xff,0x16, + 0xff,0xff,0xff,0x18, + 0xff,0xff,0xff,0x19, + 0x11,0x11,0x11,0x11, + 0x11,0x41,0x66,0x13, + 0x11,0xf5,0xff,0x13, + 0xee,0xff,0x7f,0x11, + 0xff,0xef,0x16,0x11, + + // Tile [14 , 1] + 0x11,0xff,0x14,0x11, + 0x11,0xfe,0x13,0x11, + 0x11,0xfc,0x11,0x11, + 0x11,0x75,0x11,0x11, + 0x31,0x44,0x13,0x11, + 0x91,0xff,0x1c,0x11, + 0x91,0xff,0x1c,0x11, + 0x91,0xff,0x1c,0x11, + + // Tile [15 , 1] + 0xf1,0x4f,0x11,0x11, + 0xe1,0x3f,0x11,0x11, + 0xc1,0x1f,0x11,0x11, + 0x51,0x17,0x11,0x11, + 0x43,0x34,0x11,0x31, + 0xf9,0xcf,0x11,0x91, + 0xf9,0xcf,0x11,0x91, + 0xf9,0xcf,0x11,0x91, + + // Tile [16 , 1] + 0xff,0x14,0x11,0x11, + 0xfe,0x13,0x11,0x11, + 0xfc,0x11,0x11,0x11, + 0x75,0x11,0x11,0x11, + 0x44,0x13,0x11,0x11, + 0xff,0x1c,0x11,0x11, + 0xff,0x1c,0x11,0x11, + 0xff,0x1c,0x11,0x11, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_result_border_bg.cpp b/vulkanon/source/img/bg_result_border_bg.cpp new file mode 100644 index 0000000..90c58c4 --- /dev/null +++ b/vulkanon/source/img/bg_result_border_bg.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_result_border_bg.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_result_border_bg { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x3e0,0x842,0x1084,0x1ce7,0x2529,0x2d6b,0x35ad,0x3def,0x4210,0x4a52,0x56b5,0x5ef7,0x6318,0x6f7b,0x739c,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_result_border_bottom.cpp b/vulkanon/source/img/bg_result_border_bottom.cpp new file mode 100644 index 0000000..cb9cbd7 --- /dev/null +++ b/vulkanon/source/img/bg_result_border_bottom.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_result_border_bottom.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_result_border_bottom { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x3e0,0x842,0x1084,0x1ce7,0x2529,0x2d6b,0x35ad,0x3def,0x4210,0x4a52,0x56b5,0x5ef7,0x6318,0x6f7b,0x739c,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x11,0x11,0x11,0x11, + 0xff,0xff,0xff,0xff, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_result_border_top.cpp b/vulkanon/source/img/bg_result_border_top.cpp new file mode 100644 index 0000000..394eba3 --- /dev/null +++ b/vulkanon/source/img/bg_result_border_top.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_result_border_top.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_result_border_top { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x3e0,0x842,0x1084,0x1ce7,0x2529,0x2d6b,0x35ad,0x3def,0x4210,0x4a52,0x56b5,0x5ef7,0x6318,0x6f7b,0x739c,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xff,0xff,0xff,0xff, + 0x11,0x11,0x11,0x11, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_result_clear.cpp b/vulkanon/source/img/bg_result_clear.cpp new file mode 100644 index 0000000..a3245db --- /dev/null +++ b/vulkanon/source/img/bg_result_clear.cpp @@ -0,0 +1,240 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_result_clear.bmp Opened. +Bmp signature found. +Bmp width: 80 +Bmp height: 16 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +16 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 640 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_result_clear { + enum { + w = 10, + h = 2, + size = 20, + }; + const unsigned short palette[] = { + 0x0,0x842,0x1084,0x1ce7,0x2529,0x2d6b,0x35ad,0x3def,0x4210,0x4a52,0x56b5,0x5ef7,0x6318,0x6f7b,0x739c,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x11,0x11,0xd6,0xff, + 0x11,0x91,0xff,0xff, + 0x11,0xf7,0xff,0xae, + 0x21,0xff,0xcf,0x12, + 0x81,0xff,0x3f,0x11, + 0xc1,0xff,0x1a,0x11, + 0xe1,0xff,0x17,0x11, + 0xf1,0xff,0x15,0x11, + + // Tile [1 , 0] + 0xff,0xaf,0x13,0x11, + 0xff,0xff,0x5f,0x11, + 0xa9,0xff,0xef,0x13, + 0x11,0xe3,0xff,0x19, + 0x11,0x71,0xff,0x1d, + 0x11,0x21,0x77,0x16, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [2 , 0] + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + + // Tile [3 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x21, + 0x11,0x21,0xe8,0xff, + 0x11,0xd2,0xff,0xff, + 0x11,0xfa,0xdf,0x66, + 0x21,0xff,0x2f,0x11, + + // Tile [4 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x8d,0x11,0x11,0x41, + 0xff,0x2d,0x11,0xf4, + 0xfd,0xaf,0x11,0xfc, + 0xf2,0xff,0x22,0xff, + + // Tile [5 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x22,0x11,0x11, + 0xeb,0xff,0xbe,0x14, + 0xff,0xff,0xff,0x4f, + 0xcf,0x87,0xfd,0xbf, + 0x1e,0x11,0xf4,0xdf, + + // Tile [6 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0xe9,0x7e,0xc3, + 0x11,0xfa,0x9f,0xfe, + 0x11,0xfa,0xff,0xff, + 0x11,0xfa,0xff,0x27, + + // Tile [7 , 0] + 0x11,0x11,0xf8,0xcf, + 0x11,0x11,0xf9,0xcf, + 0x11,0x11,0xf9,0xcf, + 0x12,0x11,0xf9,0xcf, + 0x3f,0x11,0xf9,0xcf, + 0x3f,0x11,0xf7,0xaf, + 0x3f,0x11,0xf5,0x8f, + 0x11,0x11,0xf3,0x6f, + + // Tile [8 , 0] + 0x11,0x81,0xff,0x1c, + 0x11,0x91,0xff,0x1c, + 0x11,0x91,0xff,0x1c, + 0x11,0x91,0xff,0x1c, + 0x11,0x91,0xff,0x1c, + 0x11,0x71,0xff,0x1a, + 0x11,0x51,0xff,0x18, + 0x11,0x31,0xff,0x16, + + // Tile [9 , 0] + 0x11,0xf8,0xcf,0x11, + 0x11,0xf9,0xcf,0x11, + 0x11,0xf9,0xcf,0x11, + 0x11,0xf9,0xcf,0x11, + 0x11,0xf9,0xcf,0x11, + 0x11,0xf7,0xaf,0x11, + 0x11,0xf5,0x8f,0x11, + 0x11,0xf3,0x6f,0x11, + + // Tile [0 , 1] + 0xf1,0xff,0x15,0x11, + 0xe1,0xff,0x16,0x11, + 0xc1,0xff,0x19,0x11, + 0x91,0xff,0x1e,0x11, + 0x31,0xff,0x9f,0x11, + 0x11,0xfa,0xff,0x6b, + 0x11,0xc2,0xff,0xff, + 0x11,0x11,0xf9,0xff, + + // Tile [1 , 1] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x21,0x88,0x18, + 0x11,0x61,0xff,0x1e, + 0x11,0xd2,0xff,0x1a, + 0x75,0xfd,0xff,0x14, + 0xff,0xff,0x7f,0x11, + 0xff,0xdf,0x15,0x11, + + // Tile [2 , 1] + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + 0x11,0xf9,0x9f,0x11, + + // Tile [3 , 1] + 0x61,0xff,0x1b,0x11, + 0x81,0xff,0xff,0xff, + 0x81,0xff,0xff,0xff, + 0x71,0xff,0x1a,0x11, + 0x41,0xff,0x1c,0x11, + 0x11,0xfe,0x6f,0x11, + 0x11,0xf6,0xff,0xee, + 0x11,0x61,0xfe,0xff, + + // Tile [4 , 1] + 0xc1,0xff,0x16,0x11, + 0xff,0xff,0x18,0x51, + 0xff,0xff,0x19,0xf9, + 0x11,0x11,0x31,0xff, + 0x41,0x66,0x63,0xff, + 0xf5,0xff,0x63,0xff, + 0xff,0x7f,0x21,0xff, + 0xef,0x16,0x11,0xf7, + + // Tile [5 , 1] + 0x11,0x41,0xfb,0xdf, + 0xda,0xff,0xff,0xdf, + 0xff,0xcf,0xfa,0xdf, + 0x5f,0x11,0xf4,0xdf, + 0x1c,0x11,0xf7,0xdf, + 0x4e,0x41,0xfe,0xdf, + 0xff,0xff,0xff,0xef, + 0xff,0xdf,0xf4,0xff, + + // Tile [6 , 1] + 0x11,0xfa,0xaf,0x11, + 0x11,0xfa,0x8f,0x11, + 0x11,0xfa,0x8f,0x11, + 0x11,0xfa,0x8f,0x11, + 0x11,0xfa,0x8f,0x11, + 0x11,0xfa,0x8f,0x11, + 0x11,0xfa,0x8f,0x11, + 0x16,0xfa,0x8f,0x11, + + // Tile [7 , 1] + 0x11,0x11,0xf1,0x4f, + 0x11,0x11,0xe1,0x3f, + 0x11,0x11,0xc1,0x1f, + 0x11,0x11,0x51,0x17, + 0x11,0x11,0x43,0x34, + 0x11,0x11,0xf9,0xcf, + 0x11,0x11,0xf9,0xcf, + 0x11,0x11,0xf9,0xcf, + + // Tile [8 , 1] + 0x11,0x11,0xff,0x14, + 0x11,0x11,0xfe,0x13, + 0x11,0x11,0xfc,0x11, + 0x11,0x11,0x75,0x11, + 0x11,0x31,0x44,0x13, + 0x11,0x91,0xff,0x1c, + 0x11,0x91,0xff,0x1c, + 0x11,0x91,0xff,0x1c, + + // Tile [9 , 1] + 0x11,0xf1,0x4f,0x11, + 0x11,0xe1,0x3f,0x11, + 0x11,0xc1,0x1f,0x11, + 0x11,0x51,0x17,0x11, + 0x11,0x43,0x34,0x11, + 0x11,0xf9,0xcf,0x11, + 0x11,0xf9,0xcf,0x11, + 0x11,0xf9,0xcf,0x11, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_result_pressstart.cpp b/vulkanon/source/img/bg_result_pressstart.cpp new file mode 100644 index 0000000..a01fed5 --- /dev/null +++ b/vulkanon/source/img/bg_result_pressstart.cpp @@ -0,0 +1,130 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_result_pressstart.bmp Opened. +Bmp signature found. +Bmp width: 72 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +16 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 288 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_result_pressstart { + enum { + w = 9, + h = 1, + size = 9, + }; + const unsigned short palette[] = { + 0x0,0x842,0x1084,0x1ce7,0x2529,0x2d6b,0x35ad,0x3def,0x4210,0x4a52,0x56b5,0x5ef7,0x6318,0x6f7b,0x739c,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x31,0xff,0xff,0x4d, + 0x31,0xbf,0x86,0xdf, + 0x31,0x8f,0x11,0xeb, + 0x31,0xaf,0x64,0xde, + 0x31,0xff,0xff,0x4e, + 0x31,0x9f,0x33,0x11, + 0x31,0x8f,0x11,0x11, + 0x31,0x8f,0x11,0x11, + + // Tile [1 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0xe5,0xe8,0x92,0xff, + 0xf5,0x8d,0xf8,0x65, + 0xf5,0x15,0xeb,0x88, + 0xf5,0x14,0xec,0x88, + 0xf5,0x14,0xe9,0x22, + 0xf5,0x14,0xd2,0xff, + + // Tile [2 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x19,0xb2,0xff,0x2b, + 0x7f,0xf7,0x56,0x8f, + 0xbe,0xf6,0x9d,0x14, + 0x78,0x51,0xea,0x8f, + 0x6a,0xb8,0x22,0xbe, + 0x3d,0xe4,0xff,0x4e, + + // Tile [3 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0xb2,0xff,0x2b,0x11, + 0xf7,0x56,0x8f,0x11, + 0xf6,0x9d,0x14,0x11, + 0x51,0xea,0x8f,0x11, + 0xb8,0x22,0xbe,0x11, + 0xe4,0xff,0x4e,0x11, + + // Tile [4 , 0] + 0x11,0xfa,0xff,0x2b, + 0x61,0x8f,0x84,0x8f, + 0x81,0x4f,0x11,0x56, + 0x31,0xff,0xad,0x16, + 0x11,0x72,0xda,0xaf, + 0x41,0x16,0x11,0xec, + 0x81,0x8f,0x42,0xde, + 0x11,0xfb,0xff,0x4e, + + // Tile [5 , 0] + 0xfd,0xff,0xff,0x19, + 0x65,0xfa,0x68,0x14, + 0x11,0xf7,0x14,0x11, + 0x11,0xf7,0x14,0x31, + 0x11,0xf7,0x14,0x81, + 0x11,0xf7,0x14,0xd1, + 0x11,0xf7,0x14,0xf4, + 0x11,0xf7,0x14,0xf9, + + // Tile [6 , 0] + 0xf2,0x3f,0x11,0x31, + 0xf7,0x8f,0x11,0x31, + 0xdc,0xdc,0x11,0x31, + 0x8f,0xf7,0x13,0x31, + 0x3f,0xf3,0x19,0x31, + 0xff,0xff,0x1e,0x31, + 0x7a,0xa7,0x4f,0x31, + 0x13,0x31,0x9f,0x31, + + // Tile [7 , 0] + 0xff,0xff,0x9f,0xd1, + 0xbf,0x66,0xfc,0x54, + 0x9f,0x11,0xf6,0x15, + 0xcf,0x99,0xcd,0x11, + 0xef,0xdd,0x9f,0x11, + 0x9f,0x11,0xfa,0x11, + 0x9f,0x11,0xf9,0x12, + 0x9f,0x11,0xf8,0x15, + + // Tile [8 , 0] + 0xff,0xff,0x9f,0x11, + 0xa6,0x8f,0x46,0x11, + 0x71,0x4f,0x11,0x11, + 0x71,0x4f,0x11,0x11, + 0x71,0x4f,0x11,0x11, + 0x71,0x4f,0x11,0x11, + 0x71,0x4f,0x11,0x11, + 0x71,0x4f,0x11,0x11, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_result_replaysaved.cpp b/vulkanon/source/img/bg_result_replaysaved.cpp new file mode 100644 index 0000000..bad26b7 --- /dev/null +++ b/vulkanon/source/img/bg_result_replaysaved.cpp @@ -0,0 +1,280 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_result_replaysaved.bmp Opened. +Bmp signature found. +Bmp width: 96 +Bmp height: 16 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +16 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 768 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_result_replaysaved { + enum { + w = 12, + h = 2, + size = 24, + }; + const unsigned short palette[] = { + 0x0,0x842,0x1084,0x1ce7,0x2529,0x2d6b,0x35ad,0x3def,0x4210,0x4a52,0x56b5,0x5ef7,0x6318,0x6f7b,0x739c,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x21,0x22,0x22,0x12, + 0x71,0x88,0x88,0x78, + 0x71,0x58,0x44,0x85, + 0x71,0x28,0x11,0x61, + 0x71,0x28,0x11,0x71, + 0x71,0x68,0x66,0x77, + + // Tile [1 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x14,0x11,0x11,0x11, + 0x28,0x11,0x11,0x11, + 0x38,0x11,0x54,0x35, + 0x28,0x61,0x78,0x87, + 0x14,0x83,0x15,0x72, + + // Tile [2 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x21,0x45,0x53, + 0x14,0x21,0x78,0x77, + 0x17,0x21,0x88,0x13, + + // Tile [3 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x22, + 0x11,0x11,0x11,0x78, + 0x11,0x11,0x11,0x78, + 0x25,0x11,0x11,0x78, + 0x78,0x12,0x11,0x78, + 0x84,0x16,0x11,0x78, + + // Tile [4 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x21,0x54,0x35, + 0x11,0x71,0x78,0x87, + 0x11,0x73,0x15,0x82, + + // Tile [5 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x41,0x25,0x11,0x53, + 0x45,0x58,0x11,0x86, + 0x27,0x78,0x11,0x67, + + // Tile [6 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x73, + 0x11,0x11,0x21,0x77, + 0x13,0x11,0x31,0x58, + 0x12,0x11,0x31,0x78, + 0x11,0x11,0x11,0x86, + + // Tile [7 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x33,0x13,0x11,0x11, + 0x88,0x78,0x14,0x11, + 0x34,0x74,0x28,0x11, + 0x11,0x41,0x47,0x11, + 0x23,0x11,0x11,0x11, + 0x88,0x67,0x13,0x31, + + // Tile [8 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x42,0x55,0x13,0x31, + 0x87,0x77,0x58,0x41, + 0x57,0x21,0x78,0x21, + + // Tile [9 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x25,0x11,0x53,0x12, + 0x58,0x11,0x86,0x12, + 0x77,0x21,0x68,0x31, + + // Tile [10 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x41,0x55,0x13,0x11, + 0x86,0x77,0x48,0x11, + 0x58,0x21,0x77,0x31, + + // Tile [11 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x21,0x12, + 0x11,0x11,0x83,0x15, + 0x11,0x11,0x83,0x15, + 0x41,0x45,0x83,0x15, + 0x85,0x78,0x87,0x15, + 0x78,0x22,0x86,0x15, + + // Tile [0 , 1] + 0x71,0x78,0x77,0x78, + 0x71,0x28,0x11,0x83, + 0x71,0x28,0x11,0x81, + 0x71,0x28,0x11,0x82, + 0x71,0x28,0x11,0x71, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [1 , 1] + 0x13,0x85,0x45,0x74, + 0x17,0x85,0x67,0x66, + 0x17,0x85,0x13,0x21, + 0x18,0x83,0x26,0x73, + 0x38,0x41,0x87,0x78, + 0x11,0x11,0x32,0x13, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [2 , 1] + 0x38,0x21,0x78,0x11, + 0x36,0x21,0x68,0x11, + 0x12,0x21,0x78,0x11, + 0x17,0x21,0x88,0x35, + 0x13,0x21,0x68,0x86, + 0x11,0x21,0x68,0x31, + 0x11,0x21,0x68,0x11, + 0x11,0x21,0x68,0x11, + + // Tile [3 , 1] + 0x81,0x17,0x11,0x78, + 0x71,0x18,0x11,0x78, + 0x82,0x17,0x11,0x78, + 0x86,0x14,0x11,0x78, + 0x68,0x11,0x11,0x78, + 0x13,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [4 , 1] + 0x11,0x11,0x43,0x86, + 0x11,0x72,0x68,0x85, + 0x11,0x84,0x14,0x82, + 0x11,0x84,0x36,0x86, + 0x11,0x72,0x88,0x75, + 0x11,0x11,0x23,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [5 , 1] + 0x17,0x86,0x32,0x48, + 0x17,0x84,0x54,0x28, + 0x17,0x72,0x76,0x16, + 0x17,0x61,0x88,0x14, + 0x27,0x31,0x78,0x12, + 0x11,0x21,0x68,0x11, + 0x11,0x63,0x38,0x11, + 0x11,0x76,0x15,0x11, + + // Tile [6 , 1] + 0x11,0x11,0x11,0x31, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x41,0x58, + 0x11,0x11,0x21,0x87, + 0x11,0x11,0x11,0x73, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [7 , 1] + 0x54,0x87,0x48,0x11, + 0x11,0x41,0x68,0x21, + 0x11,0x21,0x68,0x41, + 0x35,0x64,0x48,0x41, + 0x88,0x78,0x15,0x21, + 0x32,0x13,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [8 , 1] + 0x31,0x64,0x78,0x11, + 0x87,0x56,0x78,0x11, + 0x48,0x21,0x78,0x11, + 0x68,0x63,0x78,0x11, + 0x87,0x58,0x77,0x12, + 0x31,0x12,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [9 , 1] + 0x86,0x42,0x48,0x51, + 0x83,0x54,0x28,0x51, + 0x71,0x76,0x16,0x51, + 0x51,0x88,0x14,0x31, + 0x31,0x78,0x12,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [10 , 1] + 0x58,0x44,0x87,0x43, + 0x78,0x66,0x66,0x53, + 0x38,0x11,0x22,0x41, + 0x68,0x32,0x77,0x21, + 0x74,0x88,0x37,0x11, + 0x21,0x33,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [11 , 1] + 0x48,0x11,0x84,0x15, + 0x38,0x11,0x83,0x15, + 0x58,0x11,0x84,0x15, + 0x77,0x44,0x87,0x15, + 0x73,0x88,0x86,0x15, + 0x21,0x23,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_result_timeover.cpp b/vulkanon/source/img/bg_result_timeover.cpp new file mode 100644 index 0000000..efc4e70 --- /dev/null +++ b/vulkanon/source/img/bg_result_timeover.cpp @@ -0,0 +1,300 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_result_timeover.bmp Opened. +Bmp signature found. +Bmp width: 104 +Bmp height: 16 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +16 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 832 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_result_timeover { + enum { + w = 13, + h = 2, + size = 26, + }; + const unsigned short palette[] = { + 0x0,0x842,0x1084,0x1ce7,0x2529,0x2d6b,0x35ad,0x3def,0x4210,0x4a52,0x56b5,0x5ef7,0x6318,0x6f7b,0x739c,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0xb1,0xff,0xff,0xff, + 0xb1,0xff,0xff,0xff, + 0x81,0xbb,0xbb,0xff, + 0x11,0x11,0x11,0xfd, + 0x11,0x11,0x11,0xfd, + 0x11,0x11,0x11,0xfd, + 0x11,0x11,0x11,0xfd, + 0x11,0x11,0x11,0xfd, + + // Tile [1 , 0] + 0xff,0xff,0xff,0x93, + 0xff,0xff,0xff,0x93, + 0xdf,0xbb,0xbb,0x63, + 0x8f,0x11,0x11,0x11, + 0x8f,0x11,0x11,0x81, + 0x8f,0x11,0x11,0x91, + 0x8f,0x11,0x11,0x91, + 0x8f,0x11,0x11,0x91, + + // Tile [2 , 0] + 0xff,0x19,0x11,0x11, + 0xff,0x19,0x11,0x11, + 0xbb,0x17,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0xee,0x18,0x11,0xea, + 0xff,0x19,0x11,0xfb, + 0xff,0x19,0x11,0xfb, + 0xff,0x19,0x11,0xfb, + + // Tile [3 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x12,0x11, + 0x6e,0xe7,0xff,0x2a, + 0xdf,0xff,0xff,0xcf, + 0xff,0x9c,0xfd,0xff, + 0xcf,0x11,0xe2,0xff, + + // Tile [4 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x21,0x11,0x11, + 0xa2,0xff,0x9e,0x11, + 0xfd,0xff,0xff,0x19, + 0xcf,0xe9,0xff,0x1f, + 0x1a,0x31,0xff,0x3f, + + // Tile [5 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x82,0xfe, + 0x11,0x21,0xfd,0xff, + 0x11,0xa1,0xff,0x6d, + 0x11,0xf2,0xff,0x12, + + // Tile [6 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x12,0x11,0x11,0x21, + 0xdf,0x18,0x11,0x81, + 0xff,0xdf,0x12,0xd1, + 0xd6,0xff,0x1a,0xf1, + 0x21,0xff,0x2f,0xf2, + + // Tile [7 , 0] + 0x11,0xb4,0xff,0xff, + 0x71,0xff,0xff,0xff, + 0xf6,0xff,0xbf,0xa9, + 0xfe,0xdf,0x13,0x11, + 0xff,0x3f,0x11,0x11, + 0xff,0x1a,0x11,0x11, + 0xff,0x16,0x11,0x11, + 0xff,0x14,0x11,0x11, + + // Tile [8 , 0] + 0xcf,0x15,0x11,0x11, + 0xff,0x9f,0x11,0x11, + 0xfe,0xff,0x19,0x11, + 0xb2,0xff,0x4f,0x11, + 0x11,0xfd,0xbf,0x81, + 0x11,0xf7,0xff,0x41, + 0x11,0xf3,0xff,0x14, + 0x11,0xf1,0xff,0x15, + + // Tile [9 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0xee,0x1a,0x11,0x81, + 0xff,0x1e,0x11,0xd1, + 0xfd,0x5f,0x11,0xf3, + 0xf8,0x9f,0x11,0xf7, + + // Tile [10 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0xee,0x19,0x21,0xe8, + 0xff,0x16,0xd2,0xff, + 0xef,0x11,0xfa,0xdf, + 0xaf,0x21,0xff,0x2f, + + // Tile [11 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x21,0x11,0x11,0x11, + 0xff,0x8d,0x11,0x11, + 0xff,0xff,0x2d,0x11, + 0x66,0xfd,0xaf,0x11, + 0x11,0xf2,0xff,0x12, + + // Tile [12 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x21, + 0x91,0xee,0x37,0xfc, + 0xa1,0xff,0xe9,0xff, + 0xa1,0xff,0xff,0xff, + 0xa1,0xff,0x7f,0x12, + + // Tile [0 , 1] + 0x11,0x11,0x11,0xfd, + 0x11,0x11,0x11,0xfd, + 0x11,0x11,0x11,0xfd, + 0x11,0x11,0x11,0xfd, + 0x11,0x11,0x11,0xfd, + 0x11,0x11,0x11,0xfd, + 0x11,0x11,0x11,0xfd, + 0x11,0x11,0x11,0xfd, + + // Tile [1 , 1] + 0x8f,0x11,0x11,0x91, + 0x8f,0x11,0x11,0x91, + 0x8f,0x11,0x11,0x91, + 0x8f,0x11,0x11,0x91, + 0x8f,0x11,0x11,0x91, + 0x8f,0x11,0x11,0x91, + 0x8f,0x11,0x11,0x91, + 0x8f,0x11,0x11,0x91, + + // Tile [2 , 1] + 0xff,0x19,0x11,0xfb, + 0xff,0x19,0x11,0xfb, + 0xff,0x19,0x11,0xfb, + 0xff,0x19,0x11,0xfb, + 0xff,0x19,0x11,0xfb, + 0xff,0x19,0x11,0xfb, + 0xff,0x19,0x11,0xfb, + 0xff,0x19,0x11,0xfb, + + // Tile [3 , 1] + 0x7f,0x11,0xd1,0xff, + 0x7f,0x11,0xd1,0xff, + 0x7f,0x11,0xd1,0xff, + 0x7f,0x11,0xd1,0xff, + 0x7f,0x11,0xd1,0xff, + 0x7f,0x11,0xd1,0xff, + 0x7f,0x11,0xd1,0xff, + 0x7f,0x11,0xd1,0xff, + + // Tile [4 , 1] + 0x15,0x11,0xff,0x3f, + 0x15,0x11,0xff,0x3f, + 0x15,0x11,0xff,0x3f, + 0x15,0x11,0xff,0x3f, + 0x15,0x11,0xff,0x3f, + 0x15,0x11,0xff,0x3f, + 0x15,0x11,0xff,0x3f, + 0x15,0x11,0xff,0x3f, + + // Tile [5 , 1] + 0x11,0xf6,0xbf,0x11, + 0x11,0xf8,0xff,0xff, + 0x11,0xf8,0xff,0xff, + 0x11,0xf7,0xaf,0x11, + 0x11,0xf4,0xcf,0x11, + 0x11,0xe1,0xff,0x16, + 0x11,0x61,0xff,0xef, + 0x11,0x11,0xe6,0xff, + + // Tile [6 , 1] + 0x11,0xfc,0x6f,0xf3, + 0xff,0xff,0x8f,0xf2, + 0xff,0xff,0x9f,0xd1, + 0x11,0x11,0x11,0x91, + 0x11,0x64,0x36,0x31, + 0x51,0xff,0x3f,0x11, + 0xfe,0xff,0x17,0x11, + 0xff,0x6e,0x11,0x11, + + // Tile [7 , 1] + 0xff,0x14,0x11,0x11, + 0xff,0x15,0x11,0x11, + 0xff,0x19,0x11,0x11, + 0xff,0x2e,0x11,0x11, + 0xff,0xbf,0x11,0x11, + 0xf9,0xff,0x8d,0x76, + 0xa1,0xff,0xff,0xff, + 0x11,0xe7,0xff,0xff, + + // Tile [8 , 1] + 0x11,0xf1,0xff,0x15, + 0x11,0xf2,0xff,0x14, + 0x11,0xf6,0xff,0x12, + 0x11,0xfc,0xcf,0x11, + 0x91,0xff,0x6f,0x11, + 0xfc,0xff,0x1b,0x11, + 0xff,0xcf,0x12,0x11, + 0xff,0x19,0x11,0x11, + + // Tile [9 , 1] + 0xf3,0xdf,0x11,0xfb, + 0xd1,0xff,0x13,0xfe, + 0x81,0xff,0x48,0xff, + 0x31,0xff,0x8c,0xff, + 0x11,0xfc,0xdf,0xef, + 0x11,0xf7,0xff,0x9f, + 0x11,0xf2,0xff,0x4f, + 0x11,0xb1,0xff,0x1e, + + // Tile [10 , 1] + 0x5f,0x61,0xff,0x1b, + 0x1e,0x81,0xff,0xff, + 0x1a,0x81,0xff,0xff, + 0x15,0x71,0xff,0x1a, + 0x11,0x41,0xff,0x1c, + 0x11,0x11,0xfe,0x6f, + 0x11,0x11,0xf6,0xff, + 0x11,0x11,0x61,0xfe, + + // Tile [11 , 1] + 0x11,0xc1,0xff,0x16, + 0xff,0xff,0xff,0x18, + 0xff,0xff,0xff,0x19, + 0x11,0x11,0x11,0x11, + 0x11,0x41,0x66,0x13, + 0x11,0xf5,0xff,0x13, + 0xee,0xff,0x7f,0x11, + 0xff,0xef,0x16,0x11, + + // Tile [12 , 1] + 0xa1,0xff,0x1a,0x11, + 0xa1,0xff,0x18,0x11, + 0xa1,0xff,0x18,0x11, + 0xa1,0xff,0x18,0x11, + 0xa1,0xff,0x18,0x11, + 0xa1,0xff,0x18,0x11, + 0xa1,0xff,0x18,0x11, + 0xa1,0xff,0x18,0x11, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_status.cpp b/vulkanon/source/img/bg_status.cpp new file mode 100644 index 0000000..08dee8b --- /dev/null +++ b/vulkanon/source/img/bg_status.cpp @@ -0,0 +1,340 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_status.bmp Opened. +Bmp signature found. +Bmp width: 240 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 960 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_status { + enum { + w = 30, + h = 1, + size = 30, + }; + const unsigned short palette[] = { + 0x3e0,0xc63,0x14a5,0x1ce7,0x2529,0x2d8b,0x35cd,0x3e10,0x4a52,0x5294,0x5ad6,0x6318,0x6b5a,0x739c,0x77bd,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x11,0xff,0xef,0x14, + 0x11,0x1f,0x31,0x1e, + 0x11,0x1f,0x31,0x4d, + 0x11,0xff,0xef,0xe4, + 0x11,0x1f,0x11,0xf1, + 0x11,0x1f,0x11,0xe1, + 0x11,0x1f,0x11,0x41, + 0x11,0x11,0x11,0x11, + + // Tile [1 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0xfd,0x4d,0xf1,0xf1, + 0x13,0xd3,0xf1,0xf1, + 0x11,0xf1,0xf1,0xf1, + 0x13,0xd3,0xd1,0xf4, + 0xfe,0x4e,0x51,0x5e, + 0x11,0x11,0x11,0x11, + + // Tile [2 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0xf1,0x41,0xfd,0x4d, + 0xf1,0xe1,0x13,0xd3, + 0xf1,0xf1,0xff,0xff, + 0xd4,0xe1,0x13,0x11, + 0x5e,0x41,0xfe,0xff, + 0x11,0x11,0x11,0x11, + + // Tile [3 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0xf1,0xc2,0x4e,0x11, + 0xf1,0x2c,0xe3,0x11, + 0xf1,0x11,0x11,0x11, + 0xf1,0x11,0x11,0x11, + 0xf1,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [4 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [5 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [6 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [7 , 0] + 0xef,0x41,0x1f,0x11, + 0xee,0xf1,0x14,0x11, + 0x1f,0xf4,0x11,0x11, + 0x41,0x4f,0x11,0x11, + 0xf1,0x14,0x1f,0x11, + 0xf4,0xe1,0x1f,0x11, + 0x4f,0xe1,0x1f,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [8 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [9 , 0] + 0x11,0xd4,0xdf,0x14, + 0x11,0x3e,0x31,0x1d, + 0x11,0x3e,0x11,0x11, + 0x11,0xe4,0xdf,0x14, + 0x11,0x11,0x31,0x1d, + 0x11,0x3e,0x31,0x1d, + 0x11,0xe4,0xef,0x14, + 0x11,0x11,0x11,0x11, + + // Tile [10 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0xd4,0xdf,0x14,0xd4, + 0x3e,0x31,0x1d,0x3e, + 0x1f,0x11,0x11,0x1f, + 0x3e,0x11,0x11,0x3e, + 0xe4,0xff,0x1f,0xe4, + 0x11,0x11,0x11,0x11, + + // Tile [11 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0xdf,0x14,0x2f,0xec, + 0x31,0x1d,0xcf,0x32, + 0x11,0x1f,0x1f,0x11, + 0x31,0x1d,0x1f,0x11, + 0xef,0x14,0x1f,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [12 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x64,0xfe,0x6e,0x11, + 0xee,0x14,0xe4,0x11, + 0xf1,0xff,0xff,0x11, + 0xe1,0x14,0x11,0x11, + 0x61,0xfe,0xff,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [13 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [14 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [15 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [16 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [17 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [18 , 0] + 0x41,0xfd,0x4d,0x11, + 0xe1,0x13,0xd6,0x11, + 0xf1,0x31,0xfe,0x11, + 0xf1,0xe3,0xf3,0x11, + 0xf1,0x3e,0xf1,0x11, + 0xe1,0x16,0xd3,0x11, + 0x41,0xfe,0x4e,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [19 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [20 , 0] + 0x11,0xf1,0xff,0xff, + 0x11,0x11,0xf1,0x11, + 0x11,0x11,0xf1,0x11, + 0x11,0x11,0xf1,0x11, + 0x11,0x11,0xf1,0x11, + 0x11,0x11,0xf1,0x11, + 0x11,0x11,0xf1,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [21 , 0] + 0xb1,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0xff,0xf1,0xff,0x6e, + 0xf1,0xf1,0xf1,0xe4, + 0xf1,0xf1,0xf1,0xf1, + 0xf1,0xf1,0xf1,0xf1, + 0xff,0xff,0xf1,0xf1, + 0x11,0x11,0x11,0x11, + + // Tile [22 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x61,0xfe,0x6e,0x11, + 0xe1,0x14,0xe4,0x11, + 0xf1,0xff,0xff,0x11, + 0xe1,0x14,0x11,0x11, + 0x61,0xfe,0xff,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [23 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [24 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0xa1,0x1a,0x11, + 0x11,0xa1,0x1a,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0xa1,0x1a,0x11, + 0x11,0xa1,0x1a,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [25 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [26 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [27 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0xa1,0x1a,0x11, + 0x11,0xa1,0x1a,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0xa1,0x1a,0x11, + 0x11,0xa1,0x1a,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [28 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + + // Tile [29 , 0] + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + 0x11,0x11,0x11,0x11, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/bg_transparent.cpp b/vulkanon/source/img/bg_transparent.cpp new file mode 100644 index 0000000..f9d6aae --- /dev/null +++ b/vulkanon/source/img/bg_transparent.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +bg/bg_transparent.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_bg_transparent { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/spr_bonus.cpp b/vulkanon/source/img/spr_bonus.cpp new file mode 100644 index 0000000..9617dc5 --- /dev/null +++ b/vulkanon/source/img/spr_bonus.cpp @@ -0,0 +1,80 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +spr/spr_bonus.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 32 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 128 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_spr_bonus { + enum { + w = 1, + h = 4, + size = 4, + }; + const unsigned short palette[] = { + 0x3e0,0x7fff,0x5fff,0x3fff,0x1fff,0x3ff,0x2f7,0x1ef,0xe7,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x70,0x7,0x0, + 0x0,0x60,0x7,0x0, + 0x77,0x66,0x64,0x76, + 0x37,0x13,0x44,0x76, + 0x40,0x14,0x32,0x7, + 0x60,0x24,0x63,0x6, + 0x67,0x6,0x70,0x76, + 0x77,0x0,0x0,0x77, + + // Tile [0 , 1] + 0x0,0x60,0x6,0x0, + 0x0,0x50,0x6,0x0, + 0x56,0x25,0x53,0x66, + 0x56,0x22,0x22,0x65, + 0x30,0x22,0x22,0x5, + 0x50,0x33,0x33,0x5, + 0x56,0x5,0x50,0x65, + 0x66,0x0,0x0,0x66, + + // Tile [0 , 2] + 0x0,0x70,0x7,0x0, + 0x0,0x60,0x7,0x0, + 0x77,0x66,0x64,0x76, + 0x37,0x13,0x44,0x76, + 0x40,0x14,0x32,0x7, + 0x60,0x24,0x63,0x6, + 0x67,0x6,0x70,0x76, + 0x77,0x0,0x0,0x77, + + // Tile [0 , 3] + 0x0,0x80,0x8,0x0, + 0x0,0x80,0x7,0x0, + 0x88,0x77,0x76,0x88, + 0x78,0x56,0x76,0x87, + 0x60,0x55,0x65,0x7, + 0x70,0x56,0x76,0x7, + 0x78,0x7,0x70,0x87, + 0x88,0x0,0x0,0x88, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/spr_bullet.cpp b/vulkanon/source/img/spr_bullet.cpp new file mode 100644 index 0000000..434133d --- /dev/null +++ b/vulkanon/source/img/spr_bullet.cpp @@ -0,0 +1,200 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +spr/spr_bullet.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 128 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 512 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_spr_bullet { + enum { + w = 1, + h = 16, + size = 16, + }; + const unsigned short palette[] = { + 0x0,0x842,0x1084,0x18c6,0x2108,0x294a,0x318c,0x39ce,0x4631,0x4e73,0x56b5,0x5ef7,0x6739,0x6f7b,0x77bd,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0xb0,0xbb,0x0,0x0, + 0xfb,0xff,0xb,0x0, + 0xb0,0xff,0xbf,0xb, + 0x0,0xfb,0xff,0xbf, + 0x0,0xfb,0xff,0xbf, + 0xb0,0xff,0xbf,0xb, + 0xfb,0xff,0xb,0x0, + 0xb0,0xbb,0x0,0x0, + + // Tile [0 , 1] + 0xb0,0xbb,0xb,0x0, + 0xb0,0xff,0x0,0x0, + 0x0,0xff,0xb,0x0, + 0x0,0xfb,0xbf,0xb, + 0xbb,0xff,0xff,0xb, + 0xff,0xff,0xff,0xbb, + 0xfb,0xbb,0xbb,0xbb, + 0xb0,0x0,0x0,0x0, + + // Tile [0 , 2] + 0x0,0xf0,0xbb,0xb, + 0x0,0xfb,0xbf,0x0, + 0x0,0xfb,0xbf,0x0, + 0xbb,0xff,0xbf,0x0, + 0xff,0xff,0xbf,0xb, + 0xfb,0xff,0xff,0x0, + 0xb,0xb0,0xbf,0xb, + 0x0,0x0,0xb0,0xb, + + // Tile [0 , 3] + 0x0,0xb0,0xbf,0xb, + 0x0,0x0,0xff,0xbb, + 0xff,0xbb,0xff,0x0, + 0xff,0xff,0xbf,0x0, + 0xbf,0xff,0xbf,0x0, + 0xb0,0xfb,0xbf,0x0, + 0x0,0xfb,0xbb,0x0, + 0x0,0x0,0xbb,0x0, + + // Tile [0 , 4] + 0xb0,0x0,0x0,0xb, + 0xfb,0xb,0xb0,0xbf, + 0xfb,0xbf,0xfb,0xbf, + 0xfb,0xff,0xff,0xbf, + 0xb0,0xff,0xff,0xb, + 0x0,0xfb,0xbf,0x0, + 0x0,0xfb,0xbf,0x0, + 0x0,0xb0,0xb,0x0, + + // Tile [0 , 5] + 0xb0,0xbf,0x0,0x0, + 0xfb,0xbf,0x0,0xbb, + 0xb0,0xff,0xfb,0xbf, + 0xb0,0xff,0xff,0xbf, + 0xb0,0xff,0xbf,0xb0, + 0xb0,0xff,0xb,0x0, + 0xb0,0xbb,0xb,0x0, + 0xb0,0xb,0x0,0x0, + + // Tile [0 , 6] + 0xb0,0xfb,0xb,0x0, + 0x0,0xff,0xb,0x0, + 0x0,0xff,0xbf,0xb, + 0xb0,0xff,0xff,0xff, + 0xf0,0xff,0xff,0xbf, + 0xbb,0xbf,0xbb,0xbb, + 0xbb,0xb0,0x0,0xb0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 7] + 0x0,0xf0,0xff,0x0, + 0x0,0xbb,0xff,0x0, + 0xb0,0xfb,0xbf,0x0, + 0xf0,0xff,0xbf,0xb0, + 0xbb,0xff,0xff,0xff, + 0xbb,0xbb,0xfb,0xbf, + 0x0,0x0,0x0,0xbb, + 0x0,0x0,0x0,0xb, + + // Tile [0 , 8] + 0x0,0x0,0xbb,0xb, + 0x0,0xb0,0xff,0xbf, + 0xb0,0xfb,0xff,0xb, + 0xfb,0xff,0xbf,0x0, + 0xfb,0xff,0xbf,0x0, + 0xb0,0xfb,0xff,0xb, + 0x0,0xb0,0xff,0xbf, + 0x0,0x0,0xbb,0xb, + + // Tile [0 , 9] + 0x0,0x0,0x0,0xb, + 0xbb,0xbb,0xbb,0xbf, + 0xbb,0xff,0xff,0xff, + 0xb0,0xff,0xff,0xbb, + 0xb0,0xfb,0xbf,0x0, + 0x0,0xb0,0xff,0x0, + 0x0,0x0,0xff,0xb, + 0x0,0xb0,0xbb,0xb, + + // Tile [0 , 10] + 0xb0,0xb,0x0,0x0, + 0xb0,0xfb,0xb,0xb0, + 0x0,0xff,0xff,0xbf, + 0xb0,0xfb,0xff,0xff, + 0x0,0xfb,0xff,0xbb, + 0x0,0xfb,0xbf,0x0, + 0x0,0xfb,0xbf,0x0, + 0xb0,0xbb,0xf,0x0, + + // Tile [0 , 11] + 0x0,0xbb,0x0,0x0, + 0x0,0xbb,0xbf,0x0, + 0x0,0xfb,0xbf,0xb, + 0x0,0xfb,0xff,0xfb, + 0x0,0xfb,0xff,0xff, + 0x0,0xff,0xbb,0xff, + 0xbb,0xff,0x0,0x0, + 0xb0,0xfb,0xb,0x0, + + // Tile [0 , 12] + 0x0,0xb0,0xb,0x0, + 0x0,0xfb,0xbf,0x0, + 0x0,0xfb,0xbf,0x0, + 0xb0,0xff,0xff,0xb, + 0xfb,0xff,0xff,0xbf, + 0xfb,0xbf,0xfb,0xbf, + 0xfb,0xb,0xb0,0xbf, + 0xb0,0x0,0x0,0xb, + + // Tile [0 , 13] + 0x0,0x0,0xb0,0xb, + 0x0,0xb0,0xbb,0xb, + 0x0,0xb0,0xff,0xb, + 0xb,0xfb,0xff,0xb, + 0xfb,0xff,0xff,0xb, + 0xfb,0xbf,0xff,0xb, + 0xbb,0x0,0xfb,0xbf, + 0x0,0x0,0xfb,0xb, + + // Tile [0 , 14] + 0x0,0x0,0x0,0x0, + 0xb,0x0,0xb,0xbb, + 0xbb,0xbb,0xfb,0xbb, + 0xfb,0xff,0xff,0xf, + 0xff,0xff,0xff,0xb, + 0xb0,0xfb,0xff,0x0, + 0x0,0xb0,0xff,0x0, + 0x0,0xb0,0xbf,0xb, + + // Tile [0 , 15] + 0xb0,0x0,0x0,0x0, + 0xbb,0x0,0x0,0x0, + 0xfb,0xbf,0xbb,0xbb, + 0xff,0xff,0xff,0xbb, + 0xb,0xfb,0xff,0xf, + 0x0,0xfb,0xbf,0xb, + 0x0,0xff,0xbb,0x0, + 0x0,0xff,0xf,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/spr_bullet_orig.cpp b/vulkanon/source/img/spr_bullet_orig.cpp new file mode 100644 index 0000000..e204236 --- /dev/null +++ b/vulkanon/source/img/spr_bullet_orig.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +spr/spr_bullet_orig.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_spr_bullet_orig { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x0,0x842,0x1084,0x18c6,0x2108,0x294a,0x318c,0x39ce,0x4631,0x4e73,0x56b5,0x5ef7,0x6739,0x6f7b,0x77bd,0x7fff, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0xb0,0xb,0x0, + 0x0,0xfb,0xbf,0x0, + 0x0,0xfb,0xbf,0x0, + 0xb0,0xff,0xff,0xb, + 0xfb,0xff,0xff,0xbf, + 0xfb,0xbf,0xfb,0xbf, + 0xfb,0xb,0xb0,0xbf, + 0xb0,0x0,0x0,0xb, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/spr_explode.cpp b/vulkanon/source/img/spr_explode.cpp new file mode 100644 index 0000000..d0882f8 --- /dev/null +++ b/vulkanon/source/img/spr_explode.cpp @@ -0,0 +1,120 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +spr/spr_explode.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 64 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +8 colors used. (0 mean full bpp). +Bmp data starts at 56h. +Allocating 256 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_spr_explode { + enum { + w = 1, + h = 8, + size = 8, + }; + const unsigned short palette[] = { + 0x0,0xd,0x16,0x1f,0x1ff,0x3ff,0x3fff,0x7fff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +}; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x10,0x1,0x0, + 0x0,0x21,0x12,0x0, + 0x0,0x21,0x12,0x0, + 0x0,0x10,0x1,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 1] + 0x0,0x0,0x0,0x0, + 0x0,0x10,0x1,0x0, + 0x0,0x21,0x12,0x0, + 0x10,0x32,0x23,0x1, + 0x10,0x32,0x23,0x1, + 0x0,0x21,0x12,0x0, + 0x0,0x10,0x1,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 2] + 0x0,0x20,0x2,0x0, + 0x0,0x20,0x2,0x0, + 0x0,0x32,0x23,0x0, + 0x22,0x43,0x34,0x22, + 0x22,0x43,0x34,0x22, + 0x0,0x32,0x23,0x0, + 0x0,0x20,0x2,0x0, + 0x0,0x20,0x2,0x0, + + // Tile [0 , 3] + 0x0,0x20,0x2,0x0, + 0x0,0x30,0x3,0x0, + 0x0,0x43,0x34,0x0, + 0x32,0x54,0x45,0x23, + 0x32,0x54,0x45,0x23, + 0x0,0x43,0x34,0x0, + 0x0,0x30,0x3,0x0, + 0x0,0x20,0x2,0x0, + + // Tile [0 , 4] + 0x0,0x20,0x2,0x0, + 0x0,0x43,0x34,0x0, + 0x30,0x54,0x45,0x3, + 0x42,0x65,0x56,0x24, + 0x42,0x65,0x56,0x24, + 0x30,0x54,0x45,0x3, + 0x0,0x43,0x34,0x0, + 0x0,0x20,0x2,0x0, + + // Tile [0 , 5] + 0x0,0x30,0x3,0x0, + 0x0,0x54,0x45,0x0, + 0x40,0x65,0x56,0x4, + 0x53,0x76,0x67,0x35, + 0x53,0x76,0x67,0x35, + 0x40,0x65,0x56,0x4, + 0x0,0x54,0x45,0x0, + 0x0,0x30,0x3,0x0, + + // Tile [0 , 6] + 0x0,0x40,0x4,0x0, + 0x0,0x54,0x45,0x0, + 0x40,0x75,0x57,0x4, + 0x54,0x77,0x77,0x45, + 0x54,0x77,0x77,0x45, + 0x40,0x75,0x57,0x4, + 0x0,0x54,0x45,0x0, + 0x0,0x40,0x4,0x0, + + // Tile [0 , 7] + 0x0,0x54,0x45,0x0, + 0x40,0x65,0x56,0x4, + 0x54,0x76,0x67,0x45, + 0x65,0x77,0x77,0x56, + 0x65,0x77,0x77,0x56, + 0x54,0x76,0x67,0x45, + 0x40,0x65,0x56,0x4, + 0x0,0x54,0x45,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/spr_explode_self.cpp b/vulkanon/source/img/spr_explode_self.cpp new file mode 100644 index 0000000..ab5a768 --- /dev/null +++ b/vulkanon/source/img/spr_explode_self.cpp @@ -0,0 +1,680 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +spr/spr_explode_self.bmp Opened. +Bmp signature found. +Bmp width: 32 +Bmp height: 128 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 2048 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_spr_explode_self { + enum { + w = 4, + h = 16, + size = 64, + }; + const unsigned short palette[] = { + 0x7c00,0x7c00,0x5c07,0x3c0f,0x1c17,0x1f,0xff,0x1ff,0x2ff,0x3ff,0x1fff,0x3fff,0x5fff,0x7fff,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x40, + 0x0,0x0,0x0,0x43, + 0x0,0x0,0x40,0x54, + + // Tile [2 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x34,0x0,0x0,0x0, + 0x45,0x4,0x0,0x0, + + // Tile [3 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 1] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 1] + 0x0,0x0,0x40,0x54, + 0x0,0x0,0x0,0x43, + 0x0,0x0,0x0,0x40, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 1] + 0x45,0x4,0x0,0x0, + 0x34,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 1] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 2] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 2] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x30, + 0x0,0x0,0x0,0x40, + 0x0,0x0,0x0,0x40, + 0x0,0x0,0x0,0x54, + 0x0,0x0,0x40,0x54, + 0x0,0x43,0x54,0x65, + + // Tile [2 , 2] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x3,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x45,0x0,0x0,0x0, + 0x45,0x4,0x0,0x0, + 0x56,0x45,0x34,0x0, + + // Tile [3 , 2] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 3] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 3] + 0x0,0x43,0x54,0x65, + 0x0,0x0,0x40,0x54, + 0x0,0x0,0x0,0x54, + 0x0,0x0,0x0,0x40, + 0x0,0x0,0x0,0x40, + 0x0,0x0,0x0,0x30, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 3] + 0x56,0x45,0x34,0x0, + 0x45,0x4,0x0,0x0, + 0x45,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x3,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 3] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x40, + 0x0,0x0,0x0,0x50, + 0x0,0x0,0x0,0x50, + 0x0,0x0,0x0,0x65, + 0x0,0x0,0x50,0x65, + 0x43,0x54,0x65,0x76, + + // Tile [2 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x5,0x0,0x0,0x0, + 0x5,0x0,0x0,0x0, + 0x56,0x0,0x0,0x0, + 0x56,0x5,0x0,0x0, + 0x67,0x56,0x45,0x34, + + // Tile [3 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 5] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 5] + 0x43,0x54,0x65,0x76, + 0x0,0x0,0x50,0x65, + 0x0,0x0,0x0,0x65, + 0x0,0x0,0x0,0x50, + 0x0,0x0,0x0,0x50, + 0x0,0x0,0x0,0x40, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 5] + 0x67,0x56,0x45,0x34, + 0x56,0x5,0x0,0x0, + 0x56,0x0,0x0,0x0, + 0x5,0x0,0x0,0x0, + 0x5,0x0,0x0,0x0, + 0x4,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 5] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 6] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x30,0x43, + + // Tile [1 , 6] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x50, + 0x0,0x0,0x0,0x66, + 0x0,0x0,0x60,0x76, + 0x54,0x55,0x66,0x87, + + // Tile [2 , 6] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x5,0x0,0x0,0x0, + 0x66,0x0,0x0,0x0, + 0x67,0x6,0x0,0x0, + 0x78,0x66,0x55,0x45, + + // Tile [3 , 6] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x34,0x3,0x0,0x0, + + // Tile [0 , 7] + 0x0,0x0,0x30,0x43, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 7] + 0x54,0x55,0x66,0x87, + 0x0,0x0,0x60,0x76, + 0x0,0x0,0x0,0x66, + 0x0,0x0,0x0,0x50, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 7] + 0x78,0x66,0x55,0x45, + 0x67,0x6,0x0,0x0, + 0x66,0x0,0x0,0x0, + 0x5,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 7] + 0x34,0x3,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 8] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x30,0x43,0x54, + + // Tile [1 , 8] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x60, + 0x0,0x0,0x0,0x77, + 0x0,0x0,0x70,0x87, + 0x65,0x66,0x77,0x98, + + // Tile [2 , 8] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x6,0x0,0x0,0x0, + 0x77,0x0,0x0,0x0, + 0x78,0x7,0x0,0x0, + 0x89,0x77,0x66,0x56, + + // Tile [3 , 8] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x45,0x34,0x3,0x0, + + // Tile [0 , 9] + 0x0,0x30,0x43,0x54, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 9] + 0x65,0x66,0x77,0x98, + 0x0,0x0,0x70,0x87, + 0x0,0x0,0x0,0x77, + 0x0,0x0,0x0,0x60, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 9] + 0x89,0x77,0x66,0x56, + 0x78,0x7,0x0,0x0, + 0x77,0x0,0x0,0x0, + 0x6,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 9] + 0x45,0x34,0x3,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 10] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0x54,0x55,0x77, + + // Tile [1 , 10] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x90, + 0x0,0x0,0x0,0xaa, + 0x0,0x0,0xa0,0xba, + 0x87,0x88,0xa9,0xcb, + + // Tile [2 , 10] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x9,0x0,0x0,0x0, + 0xaa,0x0,0x0,0x0, + 0xab,0xa,0x0,0x0, + 0xbc,0x9a,0x88,0x78, + + // Tile [3 , 10] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x55,0x45,0x4, + + // Tile [0 , 11] + 0x40,0x54,0x55,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 11] + 0x87,0x88,0xa9,0xcb, + 0x0,0x0,0xa0,0xba, + 0x0,0x0,0x0,0xaa, + 0x0,0x0,0x0,0x90, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 11] + 0xbc,0x9a,0x88,0x78, + 0xab,0xa,0x0,0x0, + 0xaa,0x0,0x0,0x0, + 0x9,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 11] + 0x77,0x55,0x45,0x4, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 12] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x54,0x55,0x75,0x77, + + // Tile [1 , 12] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0xa8, + 0x0,0x0,0x80,0xbb, + 0x0,0x80,0xb8,0xcb, + 0x87,0x98,0xba,0xdc, + + // Tile [2 , 12] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x8a,0x0,0x0,0x0, + 0xbb,0x8,0x0,0x0, + 0xbc,0x8b,0x8,0x0, + 0xcd,0xab,0x89,0x78, + + // Tile [3 , 12] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x57,0x55,0x45, + + // Tile [0 , 13] + 0x54,0x55,0x75,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 13] + 0x87,0x98,0xba,0xdc, + 0x0,0x80,0xb8,0xcb, + 0x0,0x0,0x80,0xbb, + 0x0,0x0,0x0,0xa8, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 13] + 0xcd,0xab,0x89,0x78, + 0xbc,0x8b,0x8,0x0, + 0xbb,0x8,0x0,0x0, + 0x8a,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 13] + 0x77,0x57,0x55,0x45, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 14] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x77,0x77,0x88,0x88, + + // Tile [1 , 14] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x99,0xb9,0xcb,0xdd, + + // Tile [2 , 14] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0xdd,0xbc,0x9b,0x99, + + // Tile [3 , 14] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x88,0x88,0x77,0x77, + + // Tile [0 , 15] + 0x77,0x77,0x88,0x88, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 15] + 0x99,0xb9,0xcb,0xdd, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 15] + 0xdd,0xbc,0x9b,0x99, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 15] + 0x88,0x88,0x77,0x77, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/spr_root_bullet.cpp b/vulkanon/source/img/spr_root_bullet.cpp new file mode 100644 index 0000000..5867993 --- /dev/null +++ b/vulkanon/source/img/spr_root_bullet.cpp @@ -0,0 +1,120 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +spr/spr_root_bullet.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 64 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 256 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_spr_root_bullet { + enum { + w = 1, + h = 8, + size = 8, + }; + const unsigned short palette[] = { + 0x0,0x18c6,0x318c,0x4e73,0x6739,0x7fff,0x6bfa,0x57f5,0x3fef,0x2bea,0x17e5,0x3e0,0x1ee0,0x3de0,0x5ce0,0x7c00, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x21,0x44,0x44,0x12, + 0x42,0x86,0x68,0x24, + 0x64,0xa8,0x8a,0x46, + 0x84,0xba,0xab,0x48, + 0x84,0xba,0xab,0x48, + 0x64,0xa8,0x8a,0x46, + 0x42,0x86,0x68,0x24, + 0x21,0x44,0x44,0x12, + + // Tile [0 , 1] + 0x21,0x44,0x44,0x12, + 0x42,0xa6,0x6a,0x24, + 0x64,0xba,0xab,0x46, + 0xa4,0xcb,0xbc,0x4a, + 0xa4,0xcb,0xbc,0x4a, + 0x64,0xba,0xab,0x46, + 0x42,0xa6,0x6a,0x24, + 0x21,0x44,0x44,0x12, + + // Tile [0 , 2] + 0x21,0x44,0x44,0x12, + 0x42,0xb6,0x6b,0x24, + 0x64,0xcb,0xbc,0x46, + 0xb4,0xdc,0xcd,0x4b, + 0xb4,0xdc,0xcd,0x4b, + 0x64,0xca,0xbc,0x46, + 0x42,0xb6,0x6b,0x24, + 0x21,0x44,0x44,0x12, + + // Tile [0 , 3] + 0x21,0x44,0x44,0x12, + 0x42,0xc6,0x6c,0x24, + 0x64,0xdc,0xcd,0x46, + 0xc4,0xed,0xde,0x4c, + 0xc4,0xed,0xde,0x4c, + 0x64,0xdc,0xcd,0x46, + 0x42,0xc6,0x6c,0x24, + 0x21,0x44,0x44,0x12, + + // Tile [0 , 4] + 0x21,0x44,0x44,0x12, + 0x42,0xd6,0x6d,0x24, + 0x64,0xed,0xde,0x46, + 0xd4,0xfe,0xef,0x4d, + 0xd4,0xfe,0xef,0x4d, + 0x64,0xed,0xde,0x46, + 0x42,0xd6,0x6d,0x24, + 0x21,0x44,0x44,0x12, + + // Tile [0 , 5] + 0x21,0x44,0x44,0x12, + 0x42,0xc6,0x6c,0x24, + 0x64,0xdc,0xcd,0x46, + 0xc4,0xed,0xde,0x4c, + 0xc4,0xed,0xde,0x4c, + 0x64,0xdc,0xcd,0x46, + 0x42,0xc6,0x6c,0x24, + 0x21,0x44,0x44,0x12, + + // Tile [0 , 6] + 0x21,0x44,0x44,0x12, + 0x42,0xb6,0x6b,0x24, + 0x64,0xcb,0xbc,0x46, + 0xb4,0xdc,0xcd,0x4b, + 0xb4,0xdc,0xcd,0x4b, + 0x64,0xca,0xbc,0x46, + 0x42,0xb6,0x6b,0x24, + 0x21,0x44,0x44,0x12, + + // Tile [0 , 7] + 0x21,0x44,0x44,0x12, + 0x42,0xa6,0x6a,0x24, + 0x64,0xba,0xab,0x46, + 0xa4,0xcb,0xbc,0x4a, + 0xa4,0xcb,0xbc,0x4a, + 0x64,0xba,0xab,0x46, + 0x42,0xa6,0x6a,0x24, + 0x21,0x44,0x44,0x12, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/spr_self.cpp b/vulkanon/source/img/spr_self.cpp new file mode 100644 index 0000000..3f1f35f --- /dev/null +++ b/vulkanon/source/img/spr_self.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +spr/spr_self.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +4 colors used. (0 mean full bpp). +Bmp data starts at 46h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_spr_self { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x0,0x45,0x66,0x21f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +}; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x32,0x33,0x1, + 0x0,0x3,0x0,0x3, + 0x0,0x3,0x33,0x3, + 0x0,0x3,0x3,0x3, + 0x0,0x3,0x33,0x3, + 0x0,0x3,0x0,0x0, + 0x0,0x31,0x33,0x2, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/spr_shot_fullpower.cpp b/vulkanon/source/img/spr_shot_fullpower.cpp new file mode 100644 index 0000000..f073093 --- /dev/null +++ b/vulkanon/source/img/spr_shot_fullpower.cpp @@ -0,0 +1,360 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +spr/spr_shot_fullpower.bmp Opened. +Bmp signature found. +Bmp width: 32 +Bmp height: 64 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 1024 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_spr_shot_fullpower { + enum { + w = 4, + h = 8, + size = 32, + }; + const unsigned short palette[] = { + 0x1f,0xa2,0x145,0x1e8,0x2aa,0x34d,0x3f0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 1] + 0x60,0x66,0x66,0x60, + 0x60,0x0,0x60,0x60, + 0x60,0x0,0x60,0x60, + 0x60,0x0,0x60,0x60, + 0x60,0x66,0x66,0x60, + 0x60,0x0,0x0,0x60, + 0x60,0x0,0x0,0x60, + 0x60,0x0,0x0,0x60, + + // Tile [1 , 1] + 0x66,0x66,0x60,0x0, + 0x0,0x60,0x60,0x0, + 0x0,0x60,0x60,0x0, + 0x0,0x60,0x60,0x0, + 0x0,0x60,0x60,0x0, + 0x66,0x66,0x60,0x0, + 0x0,0x60,0x60,0x0, + 0x0,0x60,0x60,0x66, + + // Tile [2 , 1] + 0x0,0x6,0x0,0x60, + 0x0,0x6,0x0,0x60, + 0x0,0x6,0x0,0x60, + 0x0,0x6,0x0,0x60, + 0x0,0x6,0x0,0x60, + 0x0,0x6,0x0,0x60, + 0x0,0x6,0x0,0x60, + 0x6,0x66,0x66,0x60, + + // Tile [3 , 1] + 0x66,0x60,0x66,0x66, + 0x0,0x0,0x60,0x0, + 0x0,0x0,0x60,0x0, + 0x66,0x0,0x60,0x0, + 0x0,0x0,0x60,0x0, + 0x0,0x0,0x60,0x0, + 0x0,0x0,0x60,0x0, + 0x66,0x0,0x60,0x0, + + // Tile [0 , 2] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x66,0x66, + 0x0,0x0,0x6,0x0, + 0x0,0x0,0x6,0x0, + 0x0,0x0,0x6,0x0, + + // Tile [1 , 2] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x66,0x60,0x0,0x0, + 0x60,0x60,0x6,0x0, + 0x60,0x60,0x6,0x0, + 0x60,0x60,0x60,0x0, + + // Tile [2 , 2] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x6,0x6,0x0,0x60, + 0x6,0x6,0x0,0x0, + 0x6,0x6,0x0,0x0, + 0x6,0x6,0x0,0x0, + + // Tile [3 , 2] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x60,0x0,0x0, + 0x6,0x6,0x0,0x0, + 0x6,0x6,0x0,0x0, + 0x60,0x0,0x0,0x0, + + // Tile [0 , 3] + 0x0,0x0,0x6,0x0, + 0x0,0x0,0x6,0x0, + 0x0,0x0,0x6,0x0, + 0x0,0x0,0x66,0x66, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 3] + 0x60,0x60,0x0,0x6, + 0x60,0x60,0x0,0x60, + 0x60,0x60,0x0,0x60, + 0x66,0x60,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 3] + 0x6,0x6,0x0,0x0, + 0x6,0x6,0x0,0x0, + 0x6,0x6,0x0,0x0, + 0x6,0x66,0x66,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 3] + 0x60,0x0,0x0,0x0, + 0x60,0x0,0x0,0x0, + 0x60,0x0,0x0,0x0, + 0x60,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 5] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 5] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 5] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 5] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 6] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 6] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 6] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 6] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 7] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 7] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 7] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 7] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/spr_shot_normal.cpp b/vulkanon/source/img/spr_shot_normal.cpp new file mode 100644 index 0000000..bf03280 --- /dev/null +++ b/vulkanon/source/img/spr_shot_normal.cpp @@ -0,0 +1,360 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +spr/spr_shot_normal.bmp Opened. +Bmp signature found. +Bmp width: 32 +Bmp height: 64 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 1024 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_spr_shot_normal { + enum { + w = 4, + h = 8, + size = 32, + }; + const unsigned short palette[] = { + 0x5000,0x108,0x14a,0x1ce,0x273,0x339,0x3ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x10, + 0x0,0x0,0x0,0x20, + + // Tile [1 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x1,0x0, + 0x0,0x1,0x2,0x0, + 0x0,0x2,0x3,0x0, + 0x0,0x3,0x4,0x0, + 0x0,0x4,0x5,0x0, + 0x0,0x5,0x5,0x0, + 0x0,0x5,0x6,0x0, + + // Tile [2 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x10,0x0,0x0, + 0x0,0x20,0x10,0x0, + 0x0,0x30,0x20,0x0, + 0x0,0x40,0x30,0x0, + 0x0,0x50,0x40,0x0, + 0x0,0x50,0x50,0x0, + 0x0,0x60,0x50,0x0, + + // Tile [3 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x1,0x0,0x0,0x0, + 0x2,0x0,0x0,0x0, + + // Tile [0 , 1] + 0x0,0x0,0x0,0x30, + 0x0,0x0,0x10,0x40, + 0x0,0x0,0x20,0x50, + 0x0,0x0,0x30,0x50, + 0x0,0x0,0x40,0x60, + 0x0,0x0,0x50,0x60, + 0x0,0x0,0x50,0x60, + 0x0,0x0,0x60,0x60, + + // Tile [1 , 1] + 0x0,0x6,0x6,0x0, + 0x0,0x6,0x6,0x0, + 0x0,0x6,0x6,0x0, + 0x0,0x6,0x6,0x0, + 0x0,0x6,0x6,0x0, + 0x0,0x6,0x6,0x0, + 0x0,0x6,0x6,0x0, + 0x0,0x6,0x6,0x0, + + // Tile [2 , 1] + 0x0,0x60,0x60,0x0, + 0x0,0x60,0x60,0x0, + 0x0,0x60,0x60,0x0, + 0x0,0x60,0x60,0x0, + 0x0,0x60,0x60,0x0, + 0x0,0x60,0x60,0x0, + 0x0,0x60,0x60,0x0, + 0x0,0x60,0x60,0x0, + + // Tile [3 , 1] + 0x3,0x0,0x0,0x0, + 0x4,0x1,0x0,0x0, + 0x5,0x2,0x0,0x0, + 0x5,0x3,0x0,0x0, + 0x6,0x4,0x0,0x0, + 0x6,0x5,0x0,0x0, + 0x6,0x5,0x0,0x0, + 0x6,0x6,0x0,0x0, + + // Tile [0 , 2] + 0x0,0x0,0x60,0x60, + 0x0,0x0,0x60,0x60, + 0x0,0x0,0x60,0x60, + 0x0,0x0,0x60,0x60, + 0x0,0x0,0x60,0x60, + 0x0,0x0,0x60,0x60, + 0x0,0x0,0x60,0x60, + 0x0,0x0,0x60,0x50, + + // Tile [1 , 2] + 0x0,0x6,0x6,0x0, + 0x0,0x6,0x6,0x0, + 0x0,0x6,0x5,0x0, + 0x0,0x5,0x5,0x0, + 0x0,0x5,0x4,0x0, + 0x0,0x4,0x3,0x0, + 0x0,0x3,0x2,0x0, + 0x0,0x2,0x1,0x0, + + // Tile [2 , 2] + 0x0,0x60,0x60,0x0, + 0x0,0x60,0x60,0x0, + 0x0,0x50,0x60,0x0, + 0x0,0x50,0x50,0x0, + 0x0,0x40,0x50,0x0, + 0x0,0x30,0x40,0x0, + 0x0,0x20,0x30,0x0, + 0x0,0x10,0x20,0x0, + + // Tile [3 , 2] + 0x6,0x6,0x0,0x0, + 0x6,0x6,0x0,0x0, + 0x6,0x6,0x0,0x0, + 0x6,0x6,0x0,0x0, + 0x6,0x6,0x0,0x0, + 0x6,0x6,0x0,0x0, + 0x6,0x6,0x0,0x0, + 0x5,0x6,0x0,0x0, + + // Tile [0 , 3] + 0x0,0x0,0x60,0x50, + 0x0,0x0,0x60,0x40, + 0x0,0x0,0x50,0x30, + 0x0,0x0,0x50,0x20, + 0x0,0x0,0x40,0x10, + 0x0,0x0,0x30,0x0, + 0x0,0x0,0x20,0x0, + 0x0,0x0,0x10,0x0, + + // Tile [1 , 3] + 0x0,0x1,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 3] + 0x0,0x0,0x10,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 3] + 0x5,0x6,0x0,0x0, + 0x4,0x6,0x0,0x0, + 0x3,0x5,0x0,0x0, + 0x2,0x5,0x0,0x0, + 0x1,0x4,0x0,0x0, + 0x0,0x3,0x0,0x0, + 0x0,0x2,0x0,0x0, + 0x0,0x1,0x0,0x0, + + // Tile [0 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x1, + 0x0,0x0,0x0,0x2, + 0x0,0x0,0x10,0x13, + 0x0,0x0,0x20,0x24, + + // Tile [1 , 4] + 0x0,0x10,0x0,0x0, + 0x0,0x20,0x0,0x0, + 0x0,0x31,0x1,0x0, + 0x0,0x42,0x2,0x0, + 0x0,0x53,0x3,0x0, + 0x0,0x54,0x4,0x0, + 0x0,0x65,0x5,0x0, + 0x0,0x65,0x5,0x0, + + // Tile [2 , 4] + 0x0,0x0,0x1,0x0, + 0x0,0x0,0x2,0x0, + 0x0,0x10,0x13,0x0, + 0x0,0x20,0x24,0x0, + 0x0,0x30,0x35,0x0, + 0x0,0x40,0x45,0x0, + 0x0,0x50,0x56,0x0, + 0x0,0x50,0x56,0x0, + + // Tile [3 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x10,0x0,0x0,0x0, + 0x20,0x0,0x0,0x0, + 0x31,0x1,0x0,0x0, + 0x42,0x2,0x0,0x0, + + // Tile [0 , 5] + 0x0,0x0,0x30,0x35, + 0x0,0x0,0x40,0x45, + 0x0,0x0,0x50,0x56, + 0x0,0x0,0x50,0x56, + 0x0,0x0,0x60,0x66, + 0x0,0x0,0x60,0x66, + 0x0,0x0,0x60,0x66, + 0x0,0x0,0x60,0x66, + + // Tile [1 , 5] + 0x0,0x66,0x6,0x0, + 0x0,0x66,0x6,0x0, + 0x0,0x66,0x6,0x0, + 0x0,0x66,0x6,0x0, + 0x0,0x66,0x6,0x0, + 0x0,0x66,0x6,0x0, + 0x0,0x66,0x6,0x0, + 0x0,0x66,0x6,0x0, + + // Tile [2 , 5] + 0x0,0x60,0x66,0x0, + 0x0,0x60,0x66,0x0, + 0x0,0x60,0x66,0x0, + 0x0,0x60,0x66,0x0, + 0x0,0x60,0x66,0x0, + 0x0,0x60,0x66,0x0, + 0x0,0x60,0x66,0x0, + 0x0,0x60,0x66,0x0, + + // Tile [3 , 5] + 0x53,0x3,0x0,0x0, + 0x54,0x4,0x0,0x0, + 0x65,0x5,0x0,0x0, + 0x65,0x5,0x0,0x0, + 0x66,0x6,0x0,0x0, + 0x66,0x6,0x0,0x0, + 0x66,0x6,0x0,0x0, + 0x66,0x6,0x0,0x0, + + // Tile [0 , 6] + 0x0,0x0,0x60,0x66, + 0x0,0x0,0x60,0x66, + 0x0,0x0,0x60,0x66, + 0x0,0x0,0x60,0x66, + 0x0,0x0,0x60,0x66, + 0x0,0x0,0x60,0x65, + 0x0,0x0,0x60,0x65, + 0x0,0x0,0x50,0x54, + + // Tile [1 , 6] + 0x0,0x66,0x6,0x0, + 0x0,0x56,0x6,0x0, + 0x0,0x56,0x6,0x0, + 0x0,0x45,0x5,0x0, + 0x0,0x35,0x5,0x0, + 0x0,0x24,0x4,0x0, + 0x0,0x13,0x3,0x0, + 0x0,0x2,0x2,0x0, + + // Tile [2 , 6] + 0x0,0x60,0x66,0x0, + 0x0,0x60,0x65,0x0, + 0x0,0x60,0x65,0x0, + 0x0,0x50,0x54,0x0, + 0x0,0x50,0x53,0x0, + 0x0,0x40,0x42,0x0, + 0x0,0x30,0x31,0x0, + 0x0,0x20,0x20,0x0, + + // Tile [3 , 6] + 0x66,0x6,0x0,0x0, + 0x66,0x6,0x0,0x0, + 0x66,0x6,0x0,0x0, + 0x66,0x6,0x0,0x0, + 0x66,0x6,0x0,0x0, + 0x56,0x6,0x0,0x0, + 0x56,0x6,0x0,0x0, + 0x45,0x5,0x0,0x0, + + // Tile [0 , 7] + 0x0,0x0,0x50,0x53, + 0x0,0x0,0x40,0x42, + 0x0,0x0,0x30,0x31, + 0x0,0x0,0x20,0x20, + 0x0,0x0,0x10,0x10, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [1 , 7] + 0x0,0x1,0x1,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [2 , 7] + 0x0,0x10,0x10,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [3 , 7] + 0x35,0x5,0x0,0x0, + 0x24,0x4,0x0,0x0, + 0x13,0x3,0x0,0x0, + 0x2,0x2,0x0,0x0, + 0x1,0x1,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/spr_suicide_bullet_original_direction.cpp b/vulkanon/source/img/spr_suicide_bullet_original_direction.cpp new file mode 100644 index 0000000..2618fbf --- /dev/null +++ b/vulkanon/source/img/spr_suicide_bullet_original_direction.cpp @@ -0,0 +1,200 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +spr/spr_suicide_bullet_original_direction.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 128 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 512 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_spr_suicide_bullet_original_direction { + enum { + w = 1, + h = 16, + size = 16, + }; + const unsigned short palette[] = { + 0x0,0x1007,0x200f,0x3017,0x401f,0x4cdf,0x599f,0x667f,0x733f,0x7fff,0x0,0x0,0x0,0x0,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0x86,0x68,0x4, + 0x40,0x86,0x68,0x4, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 1] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0x0,0x0,0x0, + 0x44,0x86,0x0,0x0, + 0x60,0x88,0x46,0x0, + 0x0,0x0,0x46,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 2] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0x6,0x0,0x0, + 0x60,0x88,0x0,0x0, + 0x0,0x88,0x6,0x0, + 0x0,0x60,0x46,0x0, + 0x0,0x0,0x4,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 3] + 0x0,0x0,0x0,0x0, + 0x40,0x44,0x0,0x0, + 0x0,0x66,0x0,0x0, + 0x0,0x88,0x0,0x0, + 0x0,0x80,0x6,0x0, + 0x0,0x60,0x4,0x0, + 0x0,0x40,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x40,0x4,0x0, + 0x0,0x60,0x6,0x0, + 0x0,0x80,0x8,0x0, + 0x0,0x80,0x8,0x0, + 0x0,0x60,0x6,0x0, + 0x0,0x40,0x4,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 5] + 0x0,0x0,0x4,0x0, + 0x0,0x60,0x44,0x0, + 0x0,0x80,0x6,0x0, + 0x0,0x80,0x8,0x0, + 0x0,0x66,0x0,0x0, + 0x0,0x44,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 6] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x46,0x0, + 0x0,0x80,0x68,0x0, + 0x0,0x86,0x8,0x0, + 0x40,0x66,0x0,0x0, + 0x0,0x4,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 7] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x4, + 0x0,0x0,0x68,0x4, + 0x40,0x86,0x68,0x4, + 0x0,0x64,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 8] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0x86,0x68,0x4, + 0x40,0x86,0x68,0x4, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 9] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x64,0x0,0x0, + 0x0,0x64,0x88,0x6, + 0x0,0x0,0x68,0x44, + 0x0,0x0,0x0,0x4, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 10] + 0x0,0x0,0x0,0x0, + 0x0,0x40,0x0,0x0, + 0x0,0x64,0x6,0x0, + 0x0,0x60,0x88,0x0, + 0x0,0x0,0x88,0x6, + 0x0,0x0,0x60,0x4, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 11] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x4,0x0, + 0x0,0x40,0x6,0x0, + 0x0,0x60,0x8,0x0, + 0x0,0x0,0x88,0x0, + 0x0,0x0,0x66,0x0, + 0x0,0x0,0x44,0x4, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 12] + 0x0,0x0,0x0,0x0, + 0x0,0x40,0x4,0x0, + 0x0,0x60,0x6,0x0, + 0x0,0x80,0x8,0x0, + 0x0,0x80,0x8,0x0, + 0x0,0x60,0x6,0x0, + 0x0,0x40,0x4,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 13] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x44,0x0, + 0x0,0x0,0x66,0x0, + 0x0,0x80,0x8,0x0, + 0x0,0x60,0x8,0x0, + 0x0,0x44,0x6,0x0, + 0x0,0x40,0x0,0x0, + + // Tile [0 , 14] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x40,0x0, + 0x0,0x0,0x66,0x4, + 0x0,0x80,0x68,0x0, + 0x0,0x86,0x8,0x0, + 0x0,0x64,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 15] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x46,0x0, + 0x40,0x86,0x68,0x4, + 0x40,0x86,0x0,0x0, + 0x40,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/spr_suicide_bullet_target_self.cpp b/vulkanon/source/img/spr_suicide_bullet_target_self.cpp new file mode 100644 index 0000000..bc137bb --- /dev/null +++ b/vulkanon/source/img/spr_suicide_bullet_target_self.cpp @@ -0,0 +1,200 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +spr/spr_suicide_bullet_target_self.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 128 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 512 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_spr_suicide_bullet_target_self { + enum { + w = 1, + h = 16, + size = 16, + }; + const unsigned short palette[] = { + 0x0,0x1c00,0x3c00,0x5c00,0x7c00,0x7cc6,0x7d8c,0x7e73,0x7f39,0x7fff,0x0,0x0,0x0,0x0,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0x86,0x68,0x4, + 0x40,0x86,0x68,0x4, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 1] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0x0,0x0,0x0, + 0x44,0x86,0x0,0x0, + 0x60,0x88,0x46,0x0, + 0x0,0x0,0x46,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 2] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0x6,0x0,0x0, + 0x60,0x88,0x0,0x0, + 0x0,0x88,0x6,0x0, + 0x0,0x60,0x46,0x0, + 0x0,0x0,0x4,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 3] + 0x0,0x0,0x0,0x0, + 0x40,0x44,0x0,0x0, + 0x0,0x66,0x0,0x0, + 0x0,0x88,0x0,0x0, + 0x0,0x80,0x6,0x0, + 0x0,0x60,0x4,0x0, + 0x0,0x40,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 4] + 0x0,0x0,0x0,0x0, + 0x0,0x40,0x4,0x0, + 0x0,0x60,0x6,0x0, + 0x0,0x80,0x8,0x0, + 0x0,0x80,0x8,0x0, + 0x0,0x60,0x6,0x0, + 0x0,0x40,0x4,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 5] + 0x0,0x0,0x4,0x0, + 0x0,0x60,0x44,0x0, + 0x0,0x80,0x6,0x0, + 0x0,0x80,0x8,0x0, + 0x0,0x66,0x0,0x0, + 0x0,0x44,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 6] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x46,0x0, + 0x0,0x80,0x68,0x0, + 0x0,0x86,0x8,0x0, + 0x40,0x66,0x0,0x0, + 0x0,0x4,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 7] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x4, + 0x0,0x0,0x68,0x4, + 0x40,0x86,0x68,0x4, + 0x0,0x64,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 8] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x40,0x86,0x68,0x4, + 0x40,0x86,0x68,0x4, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 9] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x64,0x0,0x0, + 0x0,0x64,0x88,0x6, + 0x0,0x0,0x68,0x44, + 0x0,0x0,0x0,0x4, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 10] + 0x0,0x0,0x0,0x0, + 0x0,0x40,0x0,0x0, + 0x0,0x64,0x6,0x0, + 0x0,0x60,0x88,0x0, + 0x0,0x0,0x88,0x6, + 0x0,0x0,0x60,0x4, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 11] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x4,0x0, + 0x0,0x40,0x6,0x0, + 0x0,0x60,0x8,0x0, + 0x0,0x0,0x88,0x0, + 0x0,0x0,0x66,0x0, + 0x0,0x0,0x44,0x4, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 12] + 0x0,0x0,0x0,0x0, + 0x0,0x40,0x4,0x0, + 0x0,0x60,0x6,0x0, + 0x0,0x80,0x8,0x0, + 0x0,0x80,0x8,0x0, + 0x0,0x60,0x6,0x0, + 0x0,0x40,0x4,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 13] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x44,0x0, + 0x0,0x0,0x66,0x0, + 0x0,0x80,0x8,0x0, + 0x0,0x60,0x8,0x0, + 0x0,0x44,0x6,0x0, + 0x0,0x40,0x0,0x0, + + // Tile [0 , 14] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x40,0x0, + 0x0,0x0,0x66,0x4, + 0x0,0x80,0x68,0x0, + 0x0,0x86,0x8,0x0, + 0x0,0x64,0x0,0x0, + 0x0,0x0,0x0,0x0, + + // Tile [0 , 15] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x46,0x0, + 0x40,0x86,0x68,0x4, + 0x40,0x86,0x0,0x0, + 0x40,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/img/spr_transparent.cpp b/vulkanon/source/img/spr_transparent.cpp new file mode 100644 index 0000000..ce344a1 --- /dev/null +++ b/vulkanon/source/img/spr_transparent.cpp @@ -0,0 +1,50 @@ +/* +Bmp 4/8 Bits to GBA Converter By Bruno Vedder. +With modifications by Pete Elmore. +spr/spr_transparent.bmp Opened. +Bmp signature found. +Bmp width: 8 +Bmp height: 8 +Bmp not compressed: ok. +One plane. +Bmp is 4 Bit per pixel. +0 colors used. (0 mean full bpp). +Bmp data starts at 76h. +Allocating 32 bytes. +CMAP loaded. +Data loaded. */ +namespace TILEINFO_spr_transparent { + enum { + w = 1, + h = 1, + size = 1, + }; + const unsigned short palette[] = { + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + }; + + const unsigned char img[] = { + + // Tile [0 , 0] + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0, + }; + inline u16 *copyImage(u16 *vram) { + for (u32 i = 0; i < sizeof(img) / 2; ++i) { + *vram++ = img[i * 2] | (img[i * 2 + 1] << 8); + } + return vram; + } + inline u16 *copyPalette(u16 *pal) { + for (u32 i = 0; i < sizeof(palette) / 2; ++i) { + *pal++ = palette[i]; + } + return pal; + } +}; diff --git a/vulkanon/source/libgbakey.cpp b/vulkanon/source/libgbakey.cpp new file mode 120000 index 0000000..59ad019 --- /dev/null +++ b/vulkanon/source/libgbakey.cpp @@ -0,0 +1 @@ +../../libmisc/src/libgbakey.cpp \ No newline at end of file diff --git a/vulkanon/source/libgbakey.hpp b/vulkanon/source/libgbakey.hpp new file mode 120000 index 0000000..83afd92 --- /dev/null +++ b/vulkanon/source/libgbakey.hpp @@ -0,0 +1 @@ +../../libmisc/src/libgbakey.hpp \ No newline at end of file diff --git a/vulkanon/source/libkeylog.cpp b/vulkanon/source/libkeylog.cpp new file mode 120000 index 0000000..345326c --- /dev/null +++ b/vulkanon/source/libkeylog.cpp @@ -0,0 +1 @@ +../../libmisc/src/libkeylog.cpp \ No newline at end of file diff --git a/vulkanon/source/libkeylog.hpp b/vulkanon/source/libkeylog.hpp new file mode 120000 index 0000000..a2f1a38 --- /dev/null +++ b/vulkanon/source/libkeylog.hpp @@ -0,0 +1 @@ +../../libmisc/src/libkeylog.hpp \ No newline at end of file diff --git a/vulkanon/source/libplaytime.hpp b/vulkanon/source/libplaytime.hpp new file mode 120000 index 0000000..53ae0b6 --- /dev/null +++ b/vulkanon/source/libplaytime.hpp @@ -0,0 +1 @@ +../../libmisc/src/libplaytime.hpp \ No newline at end of file diff --git a/vulkanon/source/libsram_fs.cpp b/vulkanon/source/libsram_fs.cpp new file mode 120000 index 0000000..ef131ba --- /dev/null +++ b/vulkanon/source/libsram_fs.cpp @@ -0,0 +1 @@ +../../libsram/src/libsram_fs.cpp \ No newline at end of file diff --git a/vulkanon/source/libsram_fs.hpp b/vulkanon/source/libsram_fs.hpp new file mode 120000 index 0000000..a4dd211 --- /dev/null +++ b/vulkanon/source/libsram_fs.hpp @@ -0,0 +1 @@ +../../libsram/src/libsram_fs.hpp \ No newline at end of file diff --git a/vulkanon/source/libsram_ptr.cpp b/vulkanon/source/libsram_ptr.cpp new file mode 120000 index 0000000..0a52436 --- /dev/null +++ b/vulkanon/source/libsram_ptr.cpp @@ -0,0 +1 @@ +../../libsram/src/libsram_ptr.cpp \ No newline at end of file diff --git a/vulkanon/source/libsram_ptr.hpp b/vulkanon/source/libsram_ptr.hpp new file mode 120000 index 0000000..28d5bd7 --- /dev/null +++ b/vulkanon/source/libsram_ptr.hpp @@ -0,0 +1 @@ +../../libsram/src/libsram_ptr.hpp \ No newline at end of file diff --git a/vulkanon/source/libstack.hpp b/vulkanon/source/libstack.hpp new file mode 120000 index 0000000..95f5fe6 --- /dev/null +++ b/vulkanon/source/libstack.hpp @@ -0,0 +1 @@ +../../libstack/src/libstack.hpp \ No newline at end of file diff --git a/vulkanon/source/main.cpp b/vulkanon/source/main.cpp new file mode 100644 index 0000000..fa070ed --- /dev/null +++ b/vulkanon/source/main.cpp @@ -0,0 +1,34 @@ +#include "gameengine.hpp" +#include "imagehandler.hpp" +#include "main.hpp" +#include "menu_common.hpp" + +#include "demoplaysavedata.h" + +EWRAM_DATA SRAMFileSystem MainInfo::sramFS_SRAM(reinterpret_cast(SRAM), sramSignature, SRAMFileSystem::FILEMODE_READWRITE); +EWRAM_DATA SRAMFileSystem MainInfo::sramFS_DemoPlayData(const_cast(demoplaysavedata), sramSignature, SRAMFileSystem::FILEMODE_READONLY); + +int +main(void) +{ +#ifdef SET_WAITCNT + // Set ROM WAITCNT + *((volatile u16 *)0x04000204) = 0x4317; +#endif + InitInterrupt(); + REG_SOUNDCNT_X = 0; + + // rand-seed + init_genrand(0); + + GBAKey::initialize(); + + ImageHandler::setupTile(); + ImageHandler::setupSprite(); + + SoundHandler::initialize(); + + MenuCommon::initialize(); + + GameEngine::doMainMenu(); +}; diff --git a/vulkanon/source/main.hpp b/vulkanon/source/main.hpp new file mode 100644 index 0000000..d7355dd --- /dev/null +++ b/vulkanon/source/main.hpp @@ -0,0 +1,40 @@ +#ifndef MAIN_HPP +#define MAIN_HPP + +#include "boost/static_assert.hpp" +#include "libsram_fs.hpp" + +namespace MainInfo { + const char * const versionString = "Version 2.1"; + const char * const sramSignature = "VULKANON SAVE FORMAT 2.0"; + + extern SRAMFileSystem sramFS_SRAM; + extern SRAMFileSystem sramFS_DemoPlayData; + + enum FileType { + FILETYPE_ERROR = 0, + FILETYPE_REPLAY = 1, + }; + const int FILEHEADER_SIZE = 1; + inline FileType readFileType(SRAMFileSystem::FilePtr *ptr) { + if (! ptr->isNULL()) { + ptr->rewind(); + return static_cast(ptr->read_u8()); + } + return FILETYPE_ERROR; + } + inline void writeFileType(SRAMFileSystem::FilePtr *ptr, FileType type) { + if (! ptr->isNULL()) { + ptr->rewind(); + ptr->write_u8(type); + } + } + inline void seekFileBody(SRAMFileSystem::FilePtr *ptr) { + if (! ptr->isNULL()) { + ptr->rewind(); + ptr->succ(1); // filetype + } + } +}; + +#endif diff --git a/vulkanon/source/menu_common.cpp b/vulkanon/source/menu_common.cpp new file mode 100644 index 0000000..1635c6d --- /dev/null +++ b/vulkanon/source/menu_common.cpp @@ -0,0 +1,145 @@ +#include "menu_common.hpp" +#include "imagehandler.hpp" +#include "fonthandler.hpp" +#include "soundhandler.hpp" +#include "common.hpp" +#include "main.hpp" +#include "libgbakey.hpp" + +FontHandler::StringInfo MenuCommon::si_version; +int MenuCommon::mosaicSize; + +void +MenuCommon::initialize(void) +{ + FontHandler::initialize(ImageResource::getTileIndex::value, 30); + FontHandler::makeString(&si_version, 0, MainInfo::versionString); + + drawLogo(); + ImageHandler::clearBGMAP(ImageHandler::BGMAP_INDEX_MENU_TEXT); + + setMosaic(); +} + +void +MenuCommon::initialize_fonthandler(void) +{ + FontHandler::initialize(si_version.getTileIndex() + si_version.getSize(), 200); +} + +void +MenuCommon::drawLogo(void) +{ + ImageHandler::clearBGMAP(ImageHandler::BGMAP_INDEX_MENU_LOGO); + + ImageHandler::drawImage(0, 0, ImageResource::getTileIndex::value, + TILEINFO_bg_menu_logo::w, + TILEINFO_bg_menu_logo::h, + ImageHandler::BGCOLOR_GRAY, + ImageHandler::BGMAP_INDEX_MENU_LOGO); + + ImageHandler::drawImage(30 - TILEINFO_bg_menu_url::w, 17, ImageResource::getTileIndex::value, + TILEINFO_bg_menu_url::w, + TILEINFO_bg_menu_url::h, + ImageHandler::BGCOLOR_GRAY, + ImageHandler::BGMAP_INDEX_MENU_LOGO); + + FontHandler::drawString(22, 2, ImageHandler::BGCOLOR_FONT_WHITE, si_version, ImageHandler::BGMAP_INDEX_MENU_LOGO); +} + +void +MenuCommon::clearAllText(void) +{ + ImageHandler::clearBGMAP(ImageHandler::BGMAP_INDEX_MENU_TEXT); +} + +void +MenuCommon::playSE_click(void) +{ + SoundHandler::playSE(SoundResource::SE_MENU_CLICK); +} + +void +MenuCommon::playSE_select(void) +{ + SoundHandler::playSE(SoundResource::SE_MENU_SELECT); +} + +void +MenuCommon::playSE_changepage(void) +{ + SoundHandler::playSE(SoundResource::SE_MENU_CHANGEPAGE); +} + +void +MenuCommon::playSE_cancel(void) +{ + SoundHandler::playSE(SoundResource::SE_MENU_CANCEL); +} + +void +MenuCommon::loop_initialize(void) +{ + if ((! SoundHandler::isMusicPlaying()) || + (SoundHandler::getMusicIndex() != SoundResource::MUSIC_MENU)) { + SoundHandler::playMusic(SoundResource::MUSIC_MENU); + } + + SetMode(MODE_0 | BG0_ON | BG1_ON | BG2_ON); + setMosaic(); + + REG_BG0CNT = BG_SIZE_0 | BG_PRIORITY(3) | BG_16_COLOR | BG_MOSAIC | + CHAR_BASE(ImageHandler::BGBASEADDR) | SCREEN_BASE(ImageHandler::BGMAP_INDEX_MENU_TEXT); + + REG_BG1CNT = BG_SIZE_0 | BG_PRIORITY(3) | BG_16_COLOR | + CHAR_BASE(ImageHandler::BGBASEADDR) | SCREEN_BASE(ImageHandler::BGMAP_INDEX_MENU_LOGO); + + REG_BG2CNT = BG_SIZE_0 | BG_PRIORITY(3) | BG_16_COLOR | + CHAR_BASE(ImageHandler::BGBASEADDR) | SCREEN_BASE(ImageHandler::BGMAP_INDEX_BG); + + initialize_fonthandler(); + + BG0HOFS = 0; + BG0VOFS = 0; + BG1HOFS = 0; + BG1VOFS = 0; + BG2HOFS = 0; + BG2VOFS = 0; + + SetInterrupt(IE_VBL, irq_vblank); + EnableInterrupt(IE_VBL); + + // reset Key Status + VBlankIntrWait(); + GBAKey::scanKeys(); + GBAKey::getKeysDown(); + GBAKey::getKeysHeld(); + VBlankIntrWait(); +} + +void +MenuCommon::loop_terminate(void) +{ + DisableInterrupt(IE_VBL); +} + +void +MenuCommon::irq_vblank(void) +{ + static int bgoffset = 0; + bgoffset = (bgoffset + 1) & 0xf; + BG2VOFS = 8 - (bgoffset / 2); + + mosaicSize -= (mosaicSize > 0); + int size = mosaicSize / (MOSAIC_SIZE / 4); + REG_MOSAIC = (size << 4) | size; + + SoundHandler::irq_vblank(); +} + + +void +MenuCommon::setMosaic(void) +{ + mosaicSize = MOSAIC_SIZE; +} diff --git a/vulkanon/source/menu_common.hpp b/vulkanon/source/menu_common.hpp new file mode 100644 index 0000000..75d9310 --- /dev/null +++ b/vulkanon/source/menu_common.hpp @@ -0,0 +1,40 @@ +#ifndef MENU_COMMON_HPP +#define MENU_COMMON_HPP + +#include +#include "fonthandler.hpp" + +class MenuCommon +{ +public: + enum { + // MOSAIC_SIZE must be 2^x && MOSAIC_SIZE >= 4 + MOSAIC_SIZE = 16, + }; + + static void initialize(void); + + static void initialize_fonthandler(void); + + static void clearAllText(void); + + static void playSE_click(void); + static void playSE_select(void); + static void playSE_changepage(void); + static void playSE_cancel(void); + + static void loop_initialize(void); + static void loop_terminate(void); + + static void irq_vblank(void); + + static void setMosaic(void); + +private: + static void drawLogo(void); + + static FontHandler::StringInfo si_version; + static int mosaicSize; +}; + +#endif diff --git a/vulkanon/source/menu_credits.cpp b/vulkanon/source/menu_credits.cpp new file mode 100644 index 0000000..c45cab9 --- /dev/null +++ b/vulkanon/source/menu_credits.cpp @@ -0,0 +1,74 @@ +#include +#include "menu_common.hpp" +#include "menu_credits.hpp" +#include "libgbakey.hpp" +#include "imagehandler.hpp" +#include "soundhandler.hpp" +#include "fixed.hpp" + +void +MenuCredits::doLoop(void) +{ + MenuCommon::loop_initialize(); + setupFont(); + + drawAllText(); + + for (;;) { + GBAKey::scanKeys(); + u32 keysDown = GBAKey::getKeysDown(); + + if (keysDown & KEY_B) { + MenuCommon::playSE_cancel(); + break; + } + + VBlankIntrWait(); + } + + MenuCommon::loop_terminate(); +} + + +void +MenuCredits::drawAllText(void) +{ + MenuCommon::clearAllText(); + + int bgmapIndex = ImageHandler::BGMAP_INDEX_MENU_TEXT; + + FontHandler::drawString(2, 4, ImageHandler::BGCOLOR_FONT_GREEN, si_credits, bgmapIndex); + + int tileX = 1; + int tileY = 6; + int palette = ImageHandler::BGCOLOR_FONT_WHITE; + + ImageHandler::drawBGMenuCircle(tileX, tileY, palette); + FontHandler::drawString(tileX + 1, tileY, palette, si_design, bgmapIndex); + tileY += 2; + FontHandler::drawString(tileX + 3, tileY, palette, si_designStaffName, bgmapIndex); + tileY += 1; + FontHandler::drawString(tileX + 4, tileY, palette, si_designStaffURL, bgmapIndex); + + tileY += 3; + + ImageHandler::drawBGMenuCircle(tileX, tileY, palette); + FontHandler::drawString(tileX + 1, tileY, palette, si_music, bgmapIndex); + tileY += 2; + FontHandler::drawString(tileX + 3, tileY, palette, si_musicStaffName, bgmapIndex); + tileY += 1; + FontHandler::drawString(tileX + 4, tileY, palette, si_musicStaffURL, bgmapIndex); + tileY += 4; +} + +void +MenuCredits::setupFont(void) +{ + FontHandler::makeString(&si_credits, 0, "[ Credits ]"); + FontHandler::makeString(&si_design, 0, " Design, Program, Artwork"); + FontHandler::makeString(&si_designStaffName, 0, "Takayama Fumihiko"); + FontHandler::makeString(&si_designStaffURL, 0, "http://gba.pqrs.org/"); + FontHandler::makeString(&si_music, 0, " Music"); + FontHandler::makeString(&si_musicStaffName, 0, "Nullsleep"); + FontHandler::makeString(&si_musicStaffURL, 0, "http://www.nullsleep.com/"); +} diff --git a/vulkanon/source/menu_credits.hpp b/vulkanon/source/menu_credits.hpp new file mode 100644 index 0000000..f8ffd56 --- /dev/null +++ b/vulkanon/source/menu_credits.hpp @@ -0,0 +1,24 @@ +#ifndef MENU_CREDITS_HPP +#define MENU_CREDITS_HPP + +#include "main.hpp" +#include "fonthandler.hpp" + +class MenuCredits { +public: + void doLoop(void); + +private: + void drawAllText(void); + void setupFont(void); + + FontHandler::StringInfo si_credits; + FontHandler::StringInfo si_design; + FontHandler::StringInfo si_designStaffName; + FontHandler::StringInfo si_designStaffURL; + FontHandler::StringInfo si_music; + FontHandler::StringInfo si_musicStaffName; + FontHandler::StringInfo si_musicStaffURL; +}; + +#endif diff --git a/vulkanon/source/menu_replaylist.cpp b/vulkanon/source/menu_replaylist.cpp new file mode 100644 index 0000000..f5e6773 --- /dev/null +++ b/vulkanon/source/menu_replaylist.cpp @@ -0,0 +1,251 @@ +#include +#include "menu_common.hpp" +#include "menu_replaylist.hpp" +#include "imagehandler.hpp" +#include "soundhandler.hpp" +#include "libgbakey.hpp" +#include "simplestring.hpp" + +bool +MenuReplayList::doLoop() +{ + initialize(); + + MenuCommon::loop_initialize(); + setupFont(); + + int wait = 0; + bool isSelected = true; + + drawAllText(); + + for (;;) { + GBAKey::scanKeys(); + u32 keysDown = GBAKey::getKeysDown(); + u32 keysHeld = GBAKey::getKeysHeld(); + + if (keysDown & KEY_A) { + MenuCommon::playSE_select(); + isSelected = true; + break; + } + if (keysDown & KEY_B) { + MenuCommon::playSE_cancel(); + isSelected = false; + break; + } + + if (!(keysHeld & DPAD)) { + wait = 0; + } else { + if (wait > 0) { + --wait; + } else { + wait = 10; + + if (keysHeld & (KEY_UP | KEY_DOWN)) { + MenuCommon::playSE_click(); + if (keysHeld & KEY_UP) { + if (selectedIndex == 0) { + selectedIndex = lineSize - 1; + } else { + --selectedIndex; + } + if (! isPosValid()) { + setPosBottom(); + } + } else { + ++selectedIndex; + if (selectedIndex >= lineSize) { + selectedIndex = 0; + } + if (! isPosValid()) { + setPosTop(); + } + } + } + + if (keysHeld & (KEY_LEFT | KEY_RIGHT)) { + MenuCommon::playSE_changepage(); + + isDemoPlay = ! isDemoPlay; + setPosTop(); + + setupFont(); + } + + drawAllText(); + } + } + + VBlankIntrWait(); + } + + MenuCommon::loop_terminate(); + return isSelected; +} + +void +MenuReplayList::drawAllText(void) +{ + MenuCommon::clearAllText(); + + int bgmapIndex = ImageHandler::BGMAP_INDEX_MENU_TEXT; + + FontHandler::drawString(2, 4, ImageHandler::BGCOLOR_FONT_GREEN, si_selectReplay, bgmapIndex); + + ImageHandler::drawBGMenuLeftArrow(0, 4, ImageHandler::BGCOLOR_FONT_GREEN); + ImageHandler::drawBGMenuRightArrow(29, 4, ImageHandler::BGCOLOR_FONT_GREEN); + + int tileX = 1; + int tileY = 6; + + int lineIndex = 0; + for (int i = 0; i < lineSize; ++i) { + Line *p = line + i; + if (p->isDemoPlay != isDemoPlay) { + continue; + } + + if (si_lineTitle[lineIndex].getSize() == 0) { + break; + } + + int palette = ImageHandler::BGCOLOR_FONT_WHITE + (i == selectedIndex); + + ImageHandler::drawBGMenuCircle(tileX, tileY, palette); + FontHandler::drawString(tileX + 1, tileY, palette, si_lineTitle[lineIndex], bgmapIndex); + FontHandler::drawString(tileX + 3, tileY + 1, palette, si_lineInfo[lineIndex], bgmapIndex); + + tileY += 3; + ++lineIndex; + } +} + + +void +MenuReplayList::initialize() +{ + memset(line, 0, sizeof(line)); + lineSize = 0; + + pushToList(Replay::REPLAY_TYPE_BESTSCORE_LEVEL0, false); + pushToList(Replay::REPLAY_TYPE_BESTSCORE_LEVEL1, false); + pushToList(Replay::REPLAY_TYPE_BESTSCORE_LEVEL2, false); + pushToList(Replay::REPLAY_TYPE_BESTSCORE_LEVEL3, false); + pushToList(Replay::REPLAY_TYPE_BESTSCORE_LEVEL0, true); + pushToList(Replay::REPLAY_TYPE_BESTSCORE_LEVEL1, true); + pushToList(Replay::REPLAY_TYPE_BESTSCORE_LEVEL2, true); + pushToList(Replay::REPLAY_TYPE_BESTSCORE_LEVEL3, true); +} + + +void +MenuReplayList::pushToList(Replay::ReplayType type, bool isDemoPlay) +{ + SRAMFileSystem::FilePtr ptr; + if (isDemoPlay) { + Replay::getSavedReplay(&ptr, MainInfo::sramFS_DemoPlayData, type); + } else { + Replay::getSavedReplay(&ptr, MainInfo::sramFS_SRAM, type); + } + if (! ptr.isNULL()) { + if (lineSize < MAX_REPLAY_NUM) { + Line *p = line + lineSize; + + (p->replayHeader).loadFromSRAM(&ptr); + p->isDemoPlay = isDemoPlay; + + ++lineSize; + } + } +} + +void +MenuReplayList::setPosTop(void) +{ + selectedIndex = 0; + for (int i = 0; i < lineSize; ++i) { + if (line[i].isDemoPlay == isDemoPlay) { + selectedIndex = i; + return; + } + } +} + +void +MenuReplayList::setPosBottom(void) +{ + selectedIndex = 0; + for (int i = lineSize - 1; i > 0; --i) { + if (line[i].isDemoPlay == isDemoPlay) { + selectedIndex = i; + return; + } + } +} + +bool +MenuReplayList::isPosValid(void) +{ + return line[selectedIndex].isDemoPlay == isDemoPlay; +} + +void +MenuReplayList::setupFont(void) +{ + MenuCommon::setMosaic(); + MenuCommon::initialize_fonthandler(); + + if (! isDemoPlay) { + FontHandler::makeString(&si_selectReplay, 0, "[ Select Replay ]"); + } else { + FontHandler::makeString(&si_selectReplay, 0, "[ Select DemoPlay ]"); + } + + for (int i = 0; i < MAX_LEVEL; ++i) { + si_lineTitle[i].initialize(); + si_lineInfo[i].initialize(); + } + + int lineIndex = 0; + for (int i = 0; i < lineSize; ++i) { + Line *p = line + i; + if (p->isDemoPlay != isDemoPlay) { + continue; + } + + Replay::ReplayTypeLevel level = Replay::getReplayTypeLevel((p->replayHeader).getType()); + if (level == Replay::REPLAY_TYPE_LEVEL_0) { + FontHandler::makeString(si_lineTitle + lineIndex, 0, " BestScore [ Level 0 ]"); + } else if (level == Replay::REPLAY_TYPE_LEVEL_1) { + FontHandler::makeString(si_lineTitle + lineIndex, 0, " BestScore [ Level 1 ]"); + } else if (level == Replay::REPLAY_TYPE_LEVEL_2) { + FontHandler::makeString(si_lineTitle + lineIndex, 0, " BestScore [ Level 2 ]"); + } else { + FontHandler::makeString(si_lineTitle + lineIndex, 0, " BestScore [ Level 3 ]"); + } + + PlayTime playtime((p->replayHeader).getPlayTime()); + SimpleString<64> lineInfoString; + lineInfoString.initialize(); + lineInfoString.append("Miss "); + lineInfoString.append((p->replayHeader).getMissCount(), 1); + lineInfoString.append(" Score "); + lineInfoString.append((p->replayHeader).getScore(), 5); + lineInfoString.append(0, 1); + lineInfoString.append((p->replayHeader).getMissCount(), 1); + lineInfoString.append(" Time "); + lineInfoString.append(playtime.getMin(), 1); + lineInfoString.append(':'); + lineInfoString.append(playtime.getSec(), 2); + lineInfoString.append(':'); + lineInfoString.append(playtime.getMilliSec(), 2); + FontHandler::makeString(si_lineInfo + lineIndex, 0, lineInfoString.c_str()); + + ++lineIndex; + if (lineIndex >= MAX_LEVEL) { + break; + } + } +} diff --git a/vulkanon/source/menu_replaylist.hpp b/vulkanon/source/menu_replaylist.hpp new file mode 100644 index 0000000..ffea0cb --- /dev/null +++ b/vulkanon/source/menu_replaylist.hpp @@ -0,0 +1,51 @@ +#ifndef MENU_REPLAYLIST_HPP +#define MENU_REPLAYLIST_HPP + +#include "main.hpp" +#include "libsram_fs.hpp" +#include "replay.hpp" +#include +#include "libplaytime.hpp" +#include "fonthandler.hpp" + +class MenuReplayList { +public: + enum { + MAX_LEVEL = 4, + MAX_REPLAY_NUM = MAX_LEVEL * 2, /* BestScore, BestTime, BestScore DemoPlay, BestTime DemoPlay x 3 */ + }; + + struct Line { + Replay::Header replayHeader; + bool isDemoPlay; + }; + + bool doLoop(void); + const Line *getSelectedLine(void) const { return line + selectedIndex; } + + void resetPos(void) { + selectedIndex = 0; + isDemoPlay = false; + } + +private: + void drawAllText(void); + void setupFont(void); + void initialize(); + void pushToList(Replay::ReplayType type, bool isDemoPlay); + + void setPosTop(void); + void setPosBottom(void); + bool isPosValid(void); + + Line line[MAX_REPLAY_NUM]; + int lineSize; + int selectedIndex; + bool isDemoPlay; + + FontHandler::StringInfo si_selectReplay; + FontHandler::StringInfo si_lineTitle[MAX_LEVEL]; + FontHandler::StringInfo si_lineInfo[MAX_LEVEL]; +}; + +#endif diff --git a/vulkanon/source/menu_title.cpp b/vulkanon/source/menu_title.cpp new file mode 100644 index 0000000..417dd24 --- /dev/null +++ b/vulkanon/source/menu_title.cpp @@ -0,0 +1,118 @@ +#include +#include "menu_common.hpp" +#include "menu_title.hpp" +#include "libgbakey.hpp" +#include "imagehandler.hpp" +#include "soundhandler.hpp" +#include "fixed.hpp" + +void +MenuTitle::doLoop(void) +{ + int wait = 0; + + MenuCommon::loop_initialize(); + setupFont(); + + drawAllText(); + + for (;;) { + GBAKey::scanKeys(); + u32 keysDown = GBAKey::getKeysDown(); + u32 keysHeld = GBAKey::getKeysHeld(); + + if (keysDown & KEY_A) { + MenuCommon::playSE_select(); + break; + } + + if (!(keysHeld & DPAD)) { + wait = 0; + } else { + if (wait > 0) { + --wait; + } else { + wait = 10; + if (keysHeld & (KEY_UP | KEY_DOWN)) { + MenuCommon::playSE_click(); + if (keysHeld & KEY_UP) { + if (selectedIndex == 0) { + selectedIndex = END_OF_GAMEMODE - 1; + } else { + --selectedIndex; + } + } else { + ++selectedIndex; + if (selectedIndex >= END_OF_GAMEMODE) { + selectedIndex = 0; + } + } + drawAllText(); + } + } + } + VBlankIntrWait(); + } + + MenuCommon::loop_terminate(); +} + + +void +MenuTitle::drawAllText(void) +{ + MenuCommon::clearAllText(); + + int bgmapIndex = ImageHandler::BGMAP_INDEX_MENU_TEXT; + + FontHandler::drawString(2, 4, ImageHandler::BGCOLOR_FONT_GREEN, si_selectMode, bgmapIndex); + + int tileX = 1; + int tileY = 6; + int palette; + + palette = ImageHandler::BGCOLOR_FONT_WHITE + (selectedIndex == GAMEMODE_PLAY_LEVEL0); + ImageHandler::drawBGMenuCircle(tileX, tileY, palette); + FontHandler::drawString(tileX + 1, tileY, palette, si_play_L0, bgmapIndex); + + tileY += 2; + + palette = ImageHandler::BGCOLOR_FONT_WHITE + (selectedIndex == GAMEMODE_PLAY_LEVEL1); + ImageHandler::drawBGMenuCircle(tileX, tileY, palette); + FontHandler::drawString(tileX + 1, tileY, palette, si_play_L1, bgmapIndex); + + tileY += 2; + + palette = ImageHandler::BGCOLOR_FONT_WHITE + (selectedIndex == GAMEMODE_PLAY_LEVEL2); + ImageHandler::drawBGMenuCircle(tileX, tileY, palette); + FontHandler::drawString(tileX + 1, tileY, palette, si_play_L2, bgmapIndex); + + tileY += 2; + + palette = ImageHandler::BGCOLOR_FONT_WHITE + (selectedIndex == GAMEMODE_PLAY_LEVEL3); + ImageHandler::drawBGMenuCircle(tileX, tileY, palette); + FontHandler::drawString(tileX + 1, tileY, palette, si_play_L3, bgmapIndex); + + tileY += 2; + + palette = ImageHandler::BGCOLOR_FONT_WHITE + (selectedIndex == GAMEMODE_VIEW_REPLAY); + ImageHandler::drawBGMenuCircle(tileX, tileY, palette); + FontHandler::drawString(tileX + 1, tileY, palette, si_viewReplay, bgmapIndex); + + tileY += 2; + palette = ImageHandler::BGCOLOR_FONT_WHITE + (selectedIndex == GAMEMODE_CREDITS); + ImageHandler::drawBGMenuCircle(tileX, tileY, palette); + FontHandler::drawString(tileX + 1, tileY, palette, si_credits, bgmapIndex); +} + +void +MenuTitle::setupFont(void) +{ + FontHandler::makeString(&si_selectMode, 0, "[ Select Mode ]"); + FontHandler::makeString(&si_play_L0, 0, " Play [ Level 0 ]"); + FontHandler::makeString(&si_play_L1, 0, " Play [ Level 1 ]"); + FontHandler::makeString(&si_play_L2, 0, " Play [ Level 2 ]"); + FontHandler::makeString(&si_play_L3, 0, " Play [ Level 3 ]"); + FontHandler::makeString(&si_viewReplay, 0, " View Replay & DemoPlay"); + FontHandler::makeString(&si_credits, 0, " Credits"); +} diff --git a/vulkanon/source/menu_title.hpp b/vulkanon/source/menu_title.hpp new file mode 100644 index 0000000..fdc9402 --- /dev/null +++ b/vulkanon/source/menu_title.hpp @@ -0,0 +1,42 @@ +#ifndef MENU_TITLE_HPP +#define MENU_TITLE_HPP + +#include "main.hpp" +#include "fonthandler.hpp" + +class MenuTitle { +public: + enum GameMode { + GAMEMODE_PLAY_LEVEL0 = 0, + GAMEMODE_PLAY_LEVEL1, + GAMEMODE_PLAY_LEVEL2, + GAMEMODE_PLAY_LEVEL3, + GAMEMODE_VIEW_REPLAY, + GAMEMODE_CREDITS, + END_OF_GAMEMODE, + }; + + void doLoop(void); + GameMode getGameMode(void) { + return static_cast(selectedIndex); + } + void resetPos(void) { + selectedIndex = 0; + } + +private: + void drawAllText(void); + void setupFont(void); + + int selectedIndex; + + FontHandler::StringInfo si_selectMode; + FontHandler::StringInfo si_play_L0; + FontHandler::StringInfo si_play_L1; + FontHandler::StringInfo si_play_L2; + FontHandler::StringInfo si_play_L3; + FontHandler::StringInfo si_viewReplay; + FontHandler::StringInfo si_credits; +}; + +#endif diff --git a/vulkanon/source/mt19937ar.cpp b/vulkanon/source/mt19937ar.cpp new file mode 120000 index 0000000..fb96a2a --- /dev/null +++ b/vulkanon/source/mt19937ar.cpp @@ -0,0 +1 @@ +../../libfixed/src/mt19937ar.cpp \ No newline at end of file diff --git a/vulkanon/source/replay.cpp b/vulkanon/source/replay.cpp new file mode 100644 index 0000000..a066045 --- /dev/null +++ b/vulkanon/source/replay.cpp @@ -0,0 +1,198 @@ +#include +#include "fixed.hpp" +#include "replay.hpp" +#include "gameengine.hpp" +#include "self.hpp" + +void +Replay::Header::saveToSRAM(SRAMFileSystem::FilePtr *ptr) +{ + MainInfo::seekFileBody(ptr); + + ptr->write_u8(type); + ptr->write_u8(getCurrentMissCount()); + ptr->write_u32(getCurrentScore()); + ptr->write_u32(getCurrentPlayTime()); +} + +int +Replay::Header::getHeaderSize(void) +{ + return 1 + 1 + 4 + 4; +} + +void +Replay::Header::loadFromSRAM(SRAMFileSystem::FilePtr *ptr) +{ + MainInfo::seekFileBody(ptr); + + type = static_cast(ptr->read_u8()); + missCount = ptr->read_u8(); + score = ptr->read_u32(); + playTime = ptr->read_u32(); +} + + +void +Replay::initializeToSave(ReplayTypeLevel _level) +{ + setRandSeed(genrand_int31()); + level = _level; + + keyLog.resetIndex(); +} + +Replay::ReplayType +Replay::saveToSRAM(void) +{ + // calc saveSize + int saveSize = + MainInfo::FILEHEADER_SIZE + + Header::getHeaderSize() + + 4 // randSeed + + keyLog.saveToSRAM(NULL); + + if (saveSize > SRAMFileSystem::MAX_FILE_SIZE) { + // too large. + return REPLAY_TYPE_NONE; + } + + // check old replay + SRAMFileSystem::FilePtr p; + ReplayType replayType; + + replayType = makeReplayType(level, REPLAY_TYPE_MODE_BESTSCORE); + getSavedReplay(&p, MainInfo::sramFS_SRAM, replayType); + if (p.isNULL() || isBestScore(&p)) { + if (! p.isNULL()) { + MainInfo::sramFS_SRAM.deleteFile(p); + } + makeNewFileAndWriteToSRAM(saveSize, replayType); + return makeReplayType(level, REPLAY_TYPE_MODE_BESTSCORE); + } + + return REPLAY_TYPE_NONE; +} + +void +Replay::loadFromSRAM(SRAMFileSystem::FilePtr *ptr) +{ + Header header; + + header.loadFromSRAM(ptr); + setRandSeed(ptr->read_u32()); + keyLog.loadFromSRAM(ptr); +} + +void +Replay::setRandSeed(int _randSeed) +{ + randSeed = _randSeed; + init_genrand(randSeed); +} + +void +Replay::getSavedReplay(SRAMFileSystem::FilePtr *ptr, const SRAMFileSystem &sramFS, ReplayType type) +{ + for (sramFS.getFirstFile(ptr); ! ptr->isNULL(); sramFS.getNextFile(ptr)) { + if (MainInfo::readFileType(ptr) != MainInfo::FILETYPE_REPLAY) { + continue; + } + + Replay::Header savedHeader; + savedHeader.loadFromSRAM(ptr); + if (savedHeader.getType() == type) { + return; + } + } +} + +bool +Replay::isBestScore(SRAMFileSystem::FilePtr *savedReplayPtr) +{ + Replay::Header savedHeader; + savedHeader.loadFromSRAM(savedReplayPtr); + + u8 missCount = getCurrentMissCount(); + if (missCount < savedHeader.getMissCount()) { + return true; + } else if (missCount > savedHeader.getMissCount()) { + return false; + } + + u32 score = getCurrentScore(); + if (score > savedHeader.getScore()) { + return true; + } else if (score < savedHeader.getScore()) { + return false; + } + + u32 time = getCurrentPlayTime(); + if (time <= savedHeader.getPlayTime()) { + return true; + } else { + return false; + } +} + +bool +Replay::isBestTime(SRAMFileSystem::FilePtr *savedReplayPtr) +{ + Replay::Header savedHeader; + savedHeader.loadFromSRAM(savedReplayPtr); + + u8 missCount = getCurrentMissCount(); + if (missCount < savedHeader.getMissCount()) { + return true; + } else if (missCount > savedHeader.getMissCount()) { + return false; + } + + u32 time = getCurrentPlayTime(); + if (time < savedHeader.getPlayTime()) { + return true; + } else if (time > savedHeader.getPlayTime()) { + return false; + } + + u32 score = getCurrentScore(); + if (score >= savedHeader.getScore()) { + return true; + } else { + return false; + } +} + + +void +Replay::makeNewFileAndWriteToSRAM(int saveSize, ReplayType type) +{ + SRAMFileSystem::FilePtr p; + Header header; + + header.setType(type); + + MainInfo::sramFS_SRAM.newFile(&p, saveSize); + writeFileType(&p, MainInfo::FILETYPE_REPLAY); + header.saveToSRAM(&p); + p.write_u32(randSeed); + keyLog.saveToSRAM(&p); +} + +u8 +Replay::getCurrentMissCount(void) +{ + return Self::getMissCount(); +} + +u32 +Replay::getCurrentScore(void) +{ + return GameEngine::getScore(); +} + +u32 +Replay::getCurrentPlayTime(void) +{ + return GameEngine::getPlayTime().toInt(); +} diff --git a/vulkanon/source/replay.hpp b/vulkanon/source/replay.hpp new file mode 100644 index 0000000..e4795b3 --- /dev/null +++ b/vulkanon/source/replay.hpp @@ -0,0 +1,81 @@ +#ifndef REPLAY_HPP +#define REPLAY_HPP + +#include "main.hpp" +#include "libsram_fs.hpp" +#include "libkeylog.hpp" + +class Replay { +public: + enum ReplayTypeLevel { + REPLAY_TYPE_LEVEL_0 = (0 << 4), + REPLAY_TYPE_LEVEL_1 = (1 << 4), + REPLAY_TYPE_LEVEL_2 = (2 << 4), + REPLAY_TYPE_LEVEL_3 = (3 << 4), + }; + + enum ReplayTypeMode { + REPLAY_TYPE_MODE_BESTSCORE = 1, + }; + + enum ReplayType { + REPLAY_TYPE_NONE = 0, + REPLAY_TYPE_BESTSCORE_LEVEL0 = REPLAY_TYPE_LEVEL_0 | REPLAY_TYPE_MODE_BESTSCORE, + REPLAY_TYPE_BESTSCORE_LEVEL1 = REPLAY_TYPE_LEVEL_1 | REPLAY_TYPE_MODE_BESTSCORE, + REPLAY_TYPE_BESTSCORE_LEVEL2 = REPLAY_TYPE_LEVEL_2 | REPLAY_TYPE_MODE_BESTSCORE, + REPLAY_TYPE_BESTSCORE_LEVEL3 = REPLAY_TYPE_LEVEL_3 | REPLAY_TYPE_MODE_BESTSCORE, + }; + + class Header { + public: + void saveToSRAM(SRAMFileSystem::FilePtr *ptr); + static int getHeaderSize(void); + void loadFromSRAM(SRAMFileSystem::FilePtr *ptr); + + void setType(ReplayType _type) { type = _type; } + + ReplayType getType(void) const { return type; } + u8 getMissCount(void) const { return missCount; } + u32 getScore(void) const { return score; } + u32 getPlayTime(void) const { return playTime; } + + private: + ReplayType type; + u8 missCount; + u32 score; + u32 playTime; + }; + + void initializeToSave(ReplayTypeLevel _level); + ReplayType saveToSRAM(void); + + void loadFromSRAM(SRAMFileSystem::FilePtr *ptr); + + static void getSavedReplay(SRAMFileSystem::FilePtr *ptr, const SRAMFileSystem &sramFS, ReplayType type); + + static ReplayTypeMode getReplayTypeMode(ReplayType type) { return static_cast(type & 0xf); } + static ReplayTypeLevel getReplayTypeLevel(ReplayType type) { return static_cast(type & 0xf0); } + + KeyLog keyLog; + +private: + bool isBestScore(SRAMFileSystem::FilePtr *savedReplayPtr); + bool isBestTime(SRAMFileSystem::FilePtr *savedReplayPtr); + void makeNewFileAndWriteToSRAM(int saveSize, ReplayType type); + + int getRandSeed(void) { return randSeed; } + void setRandSeed(int _randSeed); + + static ReplayType makeReplayType(ReplayTypeLevel _level, ReplayTypeMode _mode) { + return static_cast(_level | _mode); + } + + static u8 getCurrentMissCount(void); + static u32 getCurrentScore(void); + static u32 getCurrentPlayTime(void); + + int randSeed; + ReplayTypeLevel level; +}; + +#endif diff --git a/vulkanon/source/self.cpp b/vulkanon/source/self.cpp new file mode 100644 index 0000000..8e2318e --- /dev/null +++ b/vulkanon/source/self.cpp @@ -0,0 +1,5 @@ +#include "self.hpp" + +GameParams::EffectExplode Self::effectExplode; +int Self::noHitCheckTime; +int Self::missCount; diff --git a/vulkanon/source/self.hpp b/vulkanon/source/self.hpp new file mode 100644 index 0000000..7071b88 --- /dev/null +++ b/vulkanon/source/self.hpp @@ -0,0 +1,114 @@ +#ifndef SELF_HPP +#define SELF_HPP + +#include "gameparams.hpp" + +class Self { +public: + enum { + NO_HIT_CHECK_TIME = 128, + MAX_MISS_COUNT = 9, + + NO_FIRE_TIME = NO_HIT_CHECK_TIME / 2, + }; + + static const int getSelfPosCenterX(void) { return SelfPos::posx.toInt() + ImageHandler::OBJPIXEL_WIDTH_SELF / 2; } + static const int getSelfPosCenterY(void) { return SelfPos::posy.toInt() + ImageHandler::OBJPIXEL_HEIGHT_SELF / 2; } + + static void initialize(void) { + effectExplode.initialize(); + noHitCheckTime = 0; + missCount = 0; + } + + static void step(u16 keysHeld) { + if (effectExplode.isAlive()) { + effectExplode.step(); + } else { + move(keysHeld); + draw(); + noHitCheckTime -= noHitCheckTime > 0; + } + } + + static void hitCheck(BulletInfo *p) { + if (SelfPos::posx.toInt() == p->getPosX().toInt()) { + const int posy = SelfPos::posy.toInt(); + const int range = 1; + const int minPosY = p->getPosY().toInt() - range; + if (static_cast(posy - minPosY) < static_cast(range * 2)) { + miss(); + } + } + } + + static void miss(void) { + if (noHitCheckTime > 0) { + return; + } + noHitCheckTime = NO_HIT_CHECK_TIME; + missCount += (missCount < MAX_MISS_COUNT); + + const int posx = SelfPos::posx.toInt() + (ImageHandler::OBJPIXEL_WIDTH_SELF / 2 - effectExplode.getWidth() / 2); + const int posy = SelfPos::posy.toInt() + (ImageHandler::OBJPIXEL_HEIGHT_SELF / 2 - effectExplode.getHeight() / 2); + effectExplode.setup(posx, posy); + } + + static bool isNoFireTime(void) { + return noHitCheckTime > NO_FIRE_TIME; + } + + static int getMissCount(void) { + return missCount; + } + + static bool isMissJustNow(void) { + return effectExplode.isFirstFrame(); + } + +private: + static void move(u16 keysHeld) { + FixedPointNum movex = 0; + FixedPointNum movey = 0; + + FixedPointNum moveDistance; + moveDistance = FixedPointNum(3, 2); + + if (keysHeld & KEY_DOWN) { + movey = moveDistance; + } + if (keysHeld & KEY_UP) { + movey = - moveDistance; + } + if (keysHeld & KEY_RIGHT) { + movex = moveDistance; + } + if (keysHeld & KEY_LEFT) { + movex = - moveDistance; + } + SelfPos::move(movex, movey); + } + + static void draw() { + OBJATTR * const p = OAM + GameParams::OAM_INDEX_SELF; + + p->attr0 = (SelfPos::posy.toInt() & 0xff); + p->attr1 = (SelfPos::posx.toInt() & 0x1ff); + + if ((noHitCheckTime & 0x3) == 0) { + p->attr2 = OBJ_PALETTE(ImageHandler::OBJCOLOR_SELF) | OBJ_PRIORITY(GameParams::OBJ_PRIORITY_SPRITE) | + ImageResource::getTileIndex::value; + } else { + p->attr2 = OBJ_PRIORITY(GameParams::OBJ_PRIORITY_SPRITE) | + ImageResource::getTileIndex::value; + } + } + + // ---------------------------------------------------------------------- + static GameParams::EffectExplode effectExplode; + + static int noHitCheckTime; + static int missCount; +}; + +#endif diff --git a/vulkanon/source/shot.hpp b/vulkanon/source/shot.hpp new file mode 100644 index 0000000..d2a45fc --- /dev/null +++ b/vulkanon/source/shot.hpp @@ -0,0 +1,161 @@ +#ifndef SHOT_HPP +#define SHOT_HPP + +#include "self.hpp" +#include "gameparams.hpp" + +class ShotInfo { +public: + enum { + SHOT_SPEED = 6, + SHOT_LIFE = 50, + }; + + void initialize(int _index) { + posx = 0; + posy = Common::SCREEN_SIZE_Y; + index = _index; + life = 0; + } + + void fire(int _shotType) { + posx = SelfPos::posx.toInt() + ImageHandler::OBJPIXEL_WIDTH_SELF / 2 - ImageHandler::OBJPIXEL_WIDTH_SHOT / 2;; + posy = SelfPos::posy.toInt() - ImageHandler::OBJPIXEL_WIDTH_SHOT / 2; + life = SHOT_LIFE; + shotType = _shotType; + } + + void move(void) { + posy -= SHOT_SPEED; + } + + void drop(void) { + OBJATTR * const p = OAM + GameParams::OAM_INDEX_SHOT + index; + p->attr0 = Common::SCREEN_SIZE_Y; + } + + void draw(void) { + OBJATTR * const p = OAM + GameParams::OAM_INDEX_SHOT + index; + p->attr0 = posy & 0xff; + p->attr1 = (posx & 0x1ff) | OBJ_SIZE(Sprite_32x32); + p->attr2 = OBJ_PRIORITY(GameParams::OBJ_PRIORITY_SPRITE) | + OBJ_PALETTE(ImageHandler::OBJCOLOR_SHOT_NORMAL + GameParams::horizontalLaser.isFullPower()) | shotType; + } + + int getPosX(void) const { return posx; } + int getPosY(void) const { return posy; } + int getIndex(void) const { return index; } + int getLife(void) const { return life; } + void decreaseLife(int num) { life -= num; } + +private: + int posx; + int posy; + + int index; + int life; + + int shotType; +}; + + +class ListShot { +public: + enum { + SHOT_AUTOFIRE_WAIT = 4, + }; + + void initialize(void) { + autoShotWait = 0; + autoFireFlag = false; + + stackFreeShot.initialize(); + ShotInfo *p = shot; + for (int i = 0; i < GameParams::MAX_SHOT; ++i) { + p->initialize(i); + dropShot(i); + ++p; + } + } + + void dropShot(int index) { + ShotInfo *p = shot + index; + + stackFreeShot.push(p); + p->drop(); + enableFlag[index] = false; + } + + void dropShot(ShotInfo *p) { + dropShot(p->getIndex()); + } + + ShotInfo *getShot(int index) { + return shot + index; + } + + int isEnable(int index) { + return enableFlag[index]; + } + + // store listshot-posx-range to minPosX & maxPosX. + void step(int *minPosX, int *maxPosX) { + autoFire(); + + int min = Common::SCREEN_SIZE_X; + int max = 0; + for (int i = 0; i < GameParams::MAX_SHOT; ++i) { + ShotInfo *p = getShot(i); + + if (! isEnable(i)) { + continue; + } + + p->move(); + p->draw(); + + if (min > p->getPosX()) { + min = p->getPosX(); + } + if (max < p->getPosX()) { + max = p->getPosX(); + } + } + + *minPosX = min; + *maxPosX = max; + } + + void setAutoFireFlag(bool flag) { autoFireFlag = flag; } + +private: + void autoFire(void) { + if (autoShotWait == 0) { + if (autoFireFlag) { + autoShotWait = SHOT_AUTOFIRE_WAIT; + if (! stackFreeShot.isEmpty()) { + ShotInfo *p = stackFreeShot.pop(); + + int posx = Self::getSelfPosCenterX(); + int hitFlag = 0; + if (GameParams::bossBody.isBossEnabled()) { + hitFlag = GameParams::bossCore.isHitX(posx); + } + p->fire(ImageResource::getTileIndex::value + + hitFlag * (TILEINFO_spr_shot_normal::size / ImageHandler::OBJTILE_SHOT_NORMAL_PATTERN)); + enableFlag[p->getIndex()] = true; + } + } + } else { + --autoShotWait; + } + } + + ShotInfo shot[GameParams::MAX_SHOT]; + Stack stackFreeShot; + bool enableFlag[GameParams::MAX_SHOT]; + int autoShotWait; + bool autoFireFlag; +}; + +#endif diff --git a/vulkanon/source/simplestring.hpp b/vulkanon/source/simplestring.hpp new file mode 120000 index 0000000..4575450 --- /dev/null +++ b/vulkanon/source/simplestring.hpp @@ -0,0 +1 @@ +../../libfont/source/simplestring.hpp \ No newline at end of file diff --git a/vulkanon/source/soundhandler.cpp b/vulkanon/source/soundhandler.cpp new file mode 100644 index 0000000..30fd654 --- /dev/null +++ b/vulkanon/source/soundhandler.cpp @@ -0,0 +1,4 @@ +#include "soundhandler.hpp" + +SoundCore SoundHandler::soundCoreMusic; +SoundCore SoundHandler::soundCoreSE; diff --git a/vulkanon/source/soundhandler.hpp b/vulkanon/source/soundhandler.hpp new file mode 100644 index 0000000..6b25f5c --- /dev/null +++ b/vulkanon/source/soundhandler.hpp @@ -0,0 +1,263 @@ +#ifndef SOUNDHANDLER_HPP +#define SOUNDHANDLER_HPP + +#include +#include "audiodef.hpp" +#include "boost/static_assert.hpp" + +namespace SoundResource { + enum { + CPU_CLOCK = 16 * 1024 * 1024, + AUDIO_RATE = 16384, + }; + + enum SoundIndex { + MUSIC_MENU, + MUSIC_GAME, + MUSIC_RESULT, + + SE_MENU_SELECT, + SE_MENU_CLICK, + SE_MENU_CHANGEPAGE, + SE_MENU_CANCEL, + + SE_SHOT_HIT, + SE_LASER, + + SE_EXPLODE_SELF, + SE_EXPLODE_BOSS_SHIELD, + + SE_BOSS_DESTROY_VIBRATION, + SE_BOSS_DESTROY_EXPLODE, + }; + + template struct getPlayFrameSize { + enum { + value = filesize * 60 / AUDIO_RATE + adjust, + }; + BOOST_STATIC_ASSERT(value > 0); + }; + + struct SoundInfo { + const char *data; + const int playFrameSize; + const bool loopFlag; + }; + +#define SOUNDINFO_INIT(NAME, ADJUST, LOOP) {_binary_##NAME##_raw_start, getPlayFrameSize<_filesize_##NAME##_raw, ADJUST>::value, LOOP} + const SoundInfo listSoundInfo[] = { + SOUNDINFO_INIT(music_menu, -3, true), + SOUNDINFO_INIT(music_game, -12, true), + SOUNDINFO_INIT(music_result, -21, true), + + SOUNDINFO_INIT(se_menu_select, 0, false), + SOUNDINFO_INIT(se_menu_click, 0, false), + SOUNDINFO_INIT(se_menu_changepage, 0, false), + SOUNDINFO_INIT(se_menu_cancel, 0, false), + + SOUNDINFO_INIT(se_shot_hit, 0, false), + SOUNDINFO_INIT(se_laser, 0, false), + + SOUNDINFO_INIT(se_explode_self, 0, false), + SOUNDINFO_INIT(se_explode_boss_shield, 0, false), + + SOUNDINFO_INIT(se_boss_destroy_vibration, 0, true), + SOUNDINFO_INIT(se_boss_destroy_explode, -2, false), + }; +} + +template +class SoundCore { +public: + enum Action { + ACTION_DONOTHING = 0, + ACTION_START, + ACTION_STOP, + ACTION_PLAYING, + }; + + void initialize(void) { + action = ACTION_DONOTHING; + index = SoundResource::MUSIC_MENU; + counter = 0; + + irqfunc_setDMAStop(); + + if (USE_FIFO_A) { + REG_TM0CNT_L = 0xffff - (SoundResource::CPU_CLOCK / SoundResource::AUDIO_RATE); + } else { + REG_TM1CNT_L = 0xffff - (SoundResource::CPU_CLOCK / SoundResource::AUDIO_RATE); + } + } + + void play(SoundResource::SoundIndex _index) { + // !! set ACTION_DONOTHING first !! + // for irq_vblank calling while this function. + action = ACTION_DONOTHING; + + index = _index; + + // now irq_vblank ready. set ACTION_START. + action = ACTION_START; + } + + void stop(void) { + action = ACTION_STOP; + } + + void irq_vblank(void) { + if (action == ACTION_START) { + action = ACTION_PLAYING; + irqfunc_actionStart(); + return; + + } else if (action == ACTION_STOP) { + action = ACTION_DONOTHING; + irqfunc_actionStop(); + return; + + } else if (action == ACTION_PLAYING) { + --counter; + if (counter <= 0) { + if (irqfunc_isLoop()) { + irqfunc_actionStart(); + } else { + action = ACTION_DONOTHING; + irqfunc_actionStop(); + } + } + } + } + + SoundResource::SoundIndex getIndex(void) const { return index; } + bool isPlaying(void) const { return action == ACTION_PLAYING; } + +private: + void irqfunc_setDMAStart(void) { + if (USE_FIFO_A) { + DMA1COPY(SoundResource::listSoundInfo[index].data, ®_FIFO_A, DMA_SPECIAL | DMA32 | DMA_REPEAT | DMA_SRC_INC | DMA_DST_FIXED); + } else { + DMA2COPY(SoundResource::listSoundInfo[index].data, ®_FIFO_B, DMA_SPECIAL | DMA32 | DMA_REPEAT | DMA_SRC_INC | DMA_DST_FIXED); + } + irqfunc_setTimerStart(); + } + + void irqfunc_setDMAStop(void) { + irqfunc_setTimerStop(); + + if (USE_FIFO_A) { + REG_DMA1CNT = 0; + } else { + REG_DMA2CNT = 0; + } + } + + void irqfunc_setTimerStart(void) { + if (USE_FIFO_A) { + REG_TM0CNT_H = TIMER_START; + } else { + REG_TM1CNT_H = TIMER_START; + } + } + + void irqfunc_setTimerStop(void) { + if (USE_FIFO_A) { + REG_TM0CNT_H = 0; + } else { + REG_TM1CNT_H = 0; + } + } + + void irqfunc_setSoundRegStart(void) { + if (USE_FIFO_A) { + REG_SOUNDCNT_H |= (SNDA_R_ENABLE | SNDA_L_ENABLE | SNDA_RESET_FIFO); + } else { + REG_SOUNDCNT_H |= (SNDB_R_ENABLE | SNDB_L_ENABLE | SNDB_RESET_FIFO); + } + } + + void irqfunc_setSoundRegStop(void) { + if (USE_FIFO_A) { + REG_SOUNDCNT_H &= ~(SNDA_R_ENABLE | SNDA_L_ENABLE); + } else { + REG_SOUNDCNT_H &= ~(SNDB_R_ENABLE | SNDB_L_ENABLE); + } + } + + void irqfunc_actionStop(void) { + irqfunc_setSoundRegStop(); + irqfunc_setDMAStop(); + index = SoundResource::MUSIC_MENU; + counter = 0; + } + + void irqfunc_actionStart(void) { + counter = SoundResource::listSoundInfo[index].playFrameSize; + irqfunc_setDMAStop(); + irqfunc_setDMAStart(); + irqfunc_setSoundRegStart(); + } + + bool irqfunc_isLoop(void) const { + return SoundResource::listSoundInfo[index].loopFlag; + } + + volatile Action action; + volatile SoundResource::SoundIndex index; + int counter; +}; + + +class SoundHandler { +public: + static void initialize(void) { + soundCoreMusic.initialize(); + soundCoreSE.initialize(); + + REG_SOUNDCNT_X = (1<<7); + REG_SOUNDCNT_L = 0; + REG_SOUNDCNT_H = + SNDA_RESET_FIFO | + SNDB_RESET_FIFO | + SNDA_VOL_100 | + SNDB_VOL_100 | + (0 << 10) | // SNDA_TIMER0 + (1 << 14); // SNDB_TIMER1 + + BOOST_STATIC_ASSERT((SoundResource::CPU_CLOCK / SoundResource::AUDIO_RATE) < 0xffff); + } + + static void terminate() { + REG_SOUNDCNT_X = 0; + } + + static void irq_vblank(void) { + soundCoreMusic.irq_vblank(); + soundCoreSE.irq_vblank(); + } + + static void playMusic(SoundResource::SoundIndex _index) { + soundCoreMusic.play(_index); + } + static void stopMusic(void) { + soundCoreMusic.stop(); + } + + static void playSE(SoundResource::SoundIndex _index) { + soundCoreSE.play(_index); + } + static void stopSE(void) { + soundCoreSE.stop(); + } + + static SoundResource::SoundIndex getMusicIndex(void) { return soundCoreMusic.getIndex(); } + static SoundResource::SoundIndex getSEIndex(void) { return soundCoreSE.getIndex(); } + static bool isMusicPlaying(void) { return soundCoreMusic.isPlaying(); } + static bool isSEPlaying(void) { return soundCoreSE.isPlaying(); } + +private: + static SoundCore soundCoreMusic; + static SoundCore soundCoreSE; +}; + +#endif diff --git a/vulkanon/source/spritedoubler.cpp b/vulkanon/source/spritedoubler.cpp new file mode 100644 index 0000000..98ed9e7 --- /dev/null +++ b/vulkanon/source/spritedoubler.cpp @@ -0,0 +1,20 @@ +#include +#include +#include +#include "common.hpp" +#include "spritedoubler.hpp" +#include "boost/static_assert.hpp" + +OBJATTR SpriteDoubler::zeroclearObjattr[MAX_SPRITE] EWRAM_DATA; +#if 0 +EWRAM_DATA OBJATTR SpriteDoubler::sortedOBJATTR[COMPILED_OBJATTR_NUM][MAXITEM]; +#else +OBJATTR (*SpriteDoubler::sortedOBJATTR)[MAXITEM] = reinterpret_cast(static_cast(OBJ_BASE_ADR) + 16 * 1024); +BOOST_STATIC_ASSERT(sizeof(OBJATTR[SpriteDoubler::COMPILED_OBJATTR_NUM][SpriteDoubler::MAXITEM]) <= 16 * 1024); +#endif + +SpriteDoubler::CompiledObjattr SpriteDoubler::compiledObjattr[COMPILED_OBJATTR_NUM]; +SpriteDoubler::CompiledObjattr *SpriteDoubler::currentCompiledObjattr; + +volatile bool SpriteDoubler::isCompileDone = false; +int SpriteDoubler::frameSkipCount = 0; diff --git a/vulkanon/source/spritedoubler.hpp b/vulkanon/source/spritedoubler.hpp new file mode 100644 index 0000000..98b298f --- /dev/null +++ b/vulkanon/source/spritedoubler.hpp @@ -0,0 +1,248 @@ +#ifndef SPRITEDOUBLER_HPP +#define SPRITEDOUBLER_HPP + +#include +#include +#include +#include +#include "common.hpp" +#include "boost/static_assert.hpp" + +class SpriteDoubler { +public: + enum Params { + OFFSET_Y = 8, // SpriteDoubler handle from -OFFSET_Y to Common::SPRITE_POSY_MAX + + LINEBLOCK = 4, + NUM_BLOCK = (Common::SCREEN_SIZE_Y + OFFSET_Y) / LINEBLOCK, + + MAXITEM = 512, + + DOUBLER_SPRITE_START = 2, + MAX_SPRITE = 120, + + COMPILED_OBJATTR_NUM = 2, // double buffer + }; + + static void initialize(void) { + REG_DMA0CNT = 0; + REG_DMA3CNT = 0; + + for (int i = 0; i < MAX_SPRITE; ++i) { + zeroclearObjattr[i].attr0 = Common::SCREEN_SIZE_Y; + zeroclearObjattr[i].attr1 = Common::SCREEN_SIZE_X; + } + currentCompiledObjattr = compiledObjattr; + for (int i = 0; i < COMPILED_OBJATTR_NUM; ++i) { + compiledObjattr[i].initialize(sortedOBJATTR[i]); + compiledObjattr[i].initializePerFrame(); + } + isCompileDone = false; + resetFrameSkipCount(); + } + + static void resetFrameSkipCount(void) { + frameSkipCount = 0; + } + + static int getFrameSkipCount(void) { + return frameSkipCount; + } + + // ------------------------------------------------------------ + static void irq_vcount(void) { + CompiledObjattr *p = currentCompiledObjattr; + + int index = *(p->nextIdx); + if (index >= NUM_BLOCK) { + return; + } + + int num = p->itemNumInBlock[index]; + int num2 = 0; + + int alivenum = p->dstStart - (OAM + DOUBLER_SPRITE_START); + if (alivenum + num >= MAX_SPRITE) { + int newNum = MAX_SPRITE - alivenum; + num2 = num - newNum; + num = newNum; + } + + OBJATTR *srcStart = p->objattrStartPosInBlock[index]; + if (num > 0) { + DMA0COPY(srcStart, p->dstStart, DMA32 | DMA_IMMEDIATE | (num * sizeof(OBJATTR) / 4)); + srcStart += num; + p->dstStart += num; + } + + if (num2 > 0) { + DMA3COPY(srcStart, OAM + DOUBLER_SPRITE_START, + DMA32 | DMA_IMMEDIATE | (num2 * sizeof(OBJATTR) / 4)); + p->dstStart = OAM + DOUBLER_SPRITE_START + num2; + } + + ++(p->nextIdx); + int vcount = p->getAlignedPosYByBlockIdx(*(p->nextIdx)) - LINEBLOCK; + REG_DISPSTAT = (REG_DISPSTAT & 0xff) | VCOUNT(vcount); + } + static void irq_vblank(void) { + frameSkipCount += ! isCompileDone; + + if (isCompileDone) { + isCompileDone = false; + switchCurrentCompiledObjattr(); + } + + CompiledObjattr *p = currentCompiledObjattr; + + p->dstStart = OAM + DOUBLER_SPRITE_START; + OBJATTR *srcStart = p->objattrStartPosInBlock[0]; + + // Copy First + int size = p->firstCopySize; + if (size > 0) { + DMA0COPY(srcStart, p->dstStart, DMA32 | DMA_IMMEDIATE | (size * sizeof(OBJATTR) / 4)); + p->dstStart += size; + } + // ZeroClear rest of OAM. + if (size < MAX_SPRITE) { + DMA3COPY(zeroclearObjattr, p->dstStart, DMA32 | DMA_IMMEDIATE | ((MAX_SPRITE - size) * sizeof(OBJATTR) / 4)); + } + + p->nextIdx = p->itemContainIdx; + int vcount = p->getAlignedPosYByBlockIdx(*(p->nextIdx)) - LINEBLOCK; + REG_DISPSTAT = (REG_DISPSTAT & 0xff) | VCOUNT(vcount); + } + + class CompiledObjattr { + public: + int itemNumInBlock[NUM_BLOCK]; + + // to make sortedOBJATTR + OBJATTR *sortedOBJATTR; + OBJATTR *objattrStartPosInBlock[NUM_BLOCK]; + int registNumOnSorted[NUM_BLOCK]; + + // for irq_vcount + OBJATTR *dstStart; + + int firstCopySize; + int itemContainIdx[NUM_BLOCK + 1]; // last item must be NUM_BLOCK for guard. + int *nextIdx; + + void initialize(OBJATTR *_sortedOBJATTR) { + sortedOBJATTR = _sortedOBJATTR; + + // initialize objattrStartPosInBlock first though it is set each every frame. + for (int i = 0; i < NUM_BLOCK; ++i) { + objattrStartPosInBlock[i] = sortedOBJATTR; + } + + initializePerFrame(); + } + + void initializePerFrame() { + memset(itemNumInBlock, 0, sizeof(itemNumInBlock)); + memset(registNumOnSorted, 0, sizeof(registNumOnSorted)); + + firstCopySize = 0; + itemContainIdx[0] = NUM_BLOCK; + nextIdx = itemContainIdx; + } + + // posy must be < Common::SCREEN_SIZE_Y. + void registItemNumInBlock(int posy) { + int idx = (posy + OFFSET_Y) / LINEBLOCK; + ++(itemNumInBlock[idx]); + } + + void normalizeItemNumInBlock() { + for (int i = 0; i < NUM_BLOCK; ++i) { + if (itemNumInBlock[i] > MAX_SPRITE) { + itemNumInBlock[i] = MAX_SPRITE; + } + } + } + + void makeObjAttrStartPosInBlock() { + objattrStartPosInBlock[0] = sortedOBJATTR; + for (int i = 0; i < NUM_BLOCK - 1; ++i) { + objattrStartPosInBlock[i + 1] = objattrStartPosInBlock[i] + itemNumInBlock[i]; + } + } + + void registObjAttr(int posy, int posx, int attr2) { + int idx = (posy + OFFSET_Y) / LINEBLOCK; + int registNum = registNumOnSorted[idx]; + if (registNum < itemNumInBlock[idx]) { + OBJATTR *p = objattrStartPosInBlock[idx] + registNum; + + p->attr0 = posy & 0xff; + p->attr1 = posx & 0x1ff; + p->attr2 = attr2; + + ++(registNumOnSorted[idx]); + } + } + + /** + * set firstCopySize, itemContainIdx + */ + void calcIRQInfo() { + // calc firstCopySize + firstCopySize = itemNumInBlock[0]; + int firstIdx = NUM_BLOCK; + for (int i = 1; i < NUM_BLOCK; ++i) { + if (firstCopySize + itemNumInBlock[i] > MAX_SPRITE) { + firstIdx = i; + break; + } + firstCopySize += itemNumInBlock[i]; + } + + // must vcount > 0 in irq_vcount & irq_vblank + if (getAlignedPosYByBlockIdx(firstIdx) - LINEBLOCK < 0) { + firstIdx = (OFFSET_Y + LINEBLOCK) / LINEBLOCK; + } + + // calc itemContainIdx + int *p = itemContainIdx; + for (int *blk = itemNumInBlock + firstIdx; blk < itemNumInBlock + NUM_BLOCK; ++blk) { + if (*blk > 0) { + *p++ = blk - itemNumInBlock; + } + } + *p = NUM_BLOCK; + } + + int getAlignedPosYByBlockIdx(int idx) { + return idx * LINEBLOCK - OFFSET_Y; + } + }; + + static CompiledObjattr *getIncurrentCompiledObjattr() { + return compiledObjattr + (currentCompiledObjattr == compiledObjattr); + } + + static void setCompileDone() { + isCompileDone = true; + } + + static void switchCurrentCompiledObjattr() { + currentCompiledObjattr = getIncurrentCompiledObjattr(); + } + +private: + static OBJATTR zeroclearObjattr[MAX_SPRITE]; +#if 0 + static OBJATTR sortedOBJATTR[COMPILED_OBJATTR_NUM][MAXITEM]; +#else + static OBJATTR (*sortedOBJATTR)[MAXITEM]; +#endif + static CompiledObjattr compiledObjattr[COMPILED_OBJATTR_NUM]; + static CompiledObjattr *currentCompiledObjattr; + static volatile bool isCompileDone; + static int frameSkipCount; +}; + +#endif diff --git a/vulkanon/source/stepfunc.cpp b/vulkanon/source/stepfunc.cpp new file mode 100644 index 0000000..ff65c4a --- /dev/null +++ b/vulkanon/source/stepfunc.cpp @@ -0,0 +1,44 @@ +#include "bullet.hpp" +#include "stepfunc.hpp" +#include "gameengine.hpp" + +const BulletStepFunc StepFunc::nullStepFuncList[] = { + NULL, + NULL, +}; + + +const BulletStepFunc StepFunc::effectHitStepFuncList[] = { + StepFunc::effectHit, + ListBullets::stepFuncDrop, + NULL, +}; + +const BulletStepFunc StepFunc::effectBonusStepFuncList[] = { + StepFunc::effectBonus, + ListBullets::stepFuncDrop, + NULL, +}; + + +const BulletStepFunc StepFunc::explodeWithTargetSelfStepFuncList[] = { + StepFunc::stop, + StepFunc::explode, + StepFunc::hidden, + StepFunc::wait<10>, + StepFunc::fireTargetSelf, + StepFunc::wait<20>, + StepFunc::setSpeed<2>, + NULL, +}; + +const BulletStepFunc StepFunc::explodeWithOriginalDirectionStepFuncList[] = { + StepFunc::stop, + StepFunc::explode, + StepFunc::hidden, + StepFunc::wait<10>, + StepFunc::fireOriginalDirection, + StepFunc::wait<20>, + StepFunc::setSpeed<2>, + NULL, +}; diff --git a/vulkanon/source/stepfunc.hpp b/vulkanon/source/stepfunc.hpp new file mode 100644 index 0000000..a4e98a6 --- /dev/null +++ b/vulkanon/source/stepfunc.hpp @@ -0,0 +1,61 @@ +#ifndef STEPFUNC_HPP +#define STEPFUNC_HPP + +#include "imagehandler.hpp" + +class StepFunc { +public: + static const BulletStepFunc nullStepFuncList[]; + static const BulletStepFunc effectHitStepFuncList[]; + static const BulletStepFunc effectBonusStepFuncList[]; + static const BulletStepFunc explodeWithTargetSelfStepFuncList[]; + static const BulletStepFunc explodeWithOriginalDirectionStepFuncList[]; + + static void fireTargetSelf(BulletInfo *p) { + int rand = 8; + p->setType(BULLET_TYPE_SUICIDE_TARGET_SELF_BULLET); + p->setAngleAndSpped(SelfPos::getAngle(p) + FixedPointNum::random() * rand - rand / 2, 0.5); + } + + static void fireOriginalDirection(BulletInfo *p) { + p->setType(BULLET_TYPE_SUICIDE_ORIGINAL_DIRECTION_BULLET); + p->setAngleAndSpped(p->lastBulletAngle, 0.5); + } + + template + static void setSpeed(BulletInfo *p) { + p->setSpeed(_speed); + } + + static void explode(BulletInfo *p) { + p->lastBulletAngle = p->getAngle(); + p->setAngleAndSpped(270 * FixedPointNum::ANGLENUM / 360, 2); + effectHit(p); + } + + static void effectHit(BulletInfo *p) { + p->setType(BULLET_TYPE_EXPLODE); + p->wait = ImageHandler::OBJTILE_EXPLODE_PATTERN; + } + + static void effectBonus(BulletInfo *p) { + p->setType(BULLET_TYPE_BONUS); + p->setAngleAndSpped(270 * FixedPointNum::ANGLENUM / 360, 0.5); + p->wait = 16; + } + + static void hidden(BulletInfo *p) { + p->setType(BULLET_TYPE_HIDDEN); + } + + static void stop(BulletInfo *p) { + p->stop(); + } + + template static void wait(BulletInfo *p) { + p->wait = _wait; + } +}; + + +#endif diff --git a/vulkanon/source/tilerotate.hpp b/vulkanon/source/tilerotate.hpp new file mode 120000 index 0000000..71f1908 --- /dev/null +++ b/vulkanon/source/tilerotate.hpp @@ -0,0 +1 @@ +../../libfont/source/tilerotate.hpp \ No newline at end of file