diff --git a/env_xbb_lastest_bo.zip b/env_xbb_lastest_bo.zip
deleted file mode 100644
index be75acd6..00000000
Binary files a/env_xbb_lastest_bo.zip and /dev/null differ
diff --git a/env_xbb_lastest_cheerio/build/Release/nothing.lib b/env_xbb_lastest_cheerio/build/Release/nothing.lib
deleted file mode 100644
index 0f19a0bf..00000000
Binary files a/env_xbb_lastest_cheerio/build/Release/nothing.lib and /dev/null differ
diff --git a/env_xbb_lastest_cheerio/build/Release/obj/boda/boda.tlog/CL.command.1.tlog b/env_xbb_lastest_cheerio/build/Release/obj/boda/boda.tlog/CL.command.1.tlog
deleted file mode 100644
index 46b134b1..00000000
--- a/env_xbb_lastest_cheerio/build/Release/obj/boda/boda.tlog/CL.command.1.tlog
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/build/Release/obj/boda/boda.tlog/boda.lastbuildstate b/env_xbb_lastest_cheerio/build/Release/obj/boda/boda.tlog/boda.lastbuildstate
deleted file mode 100644
index 14b8f827..00000000
--- a/env_xbb_lastest_cheerio/build/Release/obj/boda/boda.tlog/boda.lastbuildstate
+++ /dev/null
@@ -1,2 +0,0 @@
-PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.34.31933:TargetPlatformVersion=10.0.22000.0:
-Release|x64|D:\My_Dir\环境框架_xbb_lastest\build\|
diff --git a/env_xbb_lastest_cheerio/build/Release/obj/boda/boda.tlog/unsuccessfulbuild b/env_xbb_lastest_cheerio/build/Release/obj/boda/boda.tlog/unsuccessfulbuild
deleted file mode 100644
index e69de29b..00000000
diff --git a/env_xbb_lastest_cheerio/build/binding.sln b/env_xbb_lastest_cheerio/build/binding.sln
deleted file mode 100644
index 4f353e64..00000000
--- a/env_xbb_lastest_cheerio/build/binding.sln
+++ /dev/null
@@ -1,36 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2015
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boda", "boda.vcxproj", "{58BCD6E2-894F-5575-B8EA-BB3438277F6A}"
- ProjectSection(ProjectDependencies) = postProject
- {4C3ED550-BD81-6C01-0ACF-78D78F796A4F} = {4C3ED550-BD81-6C01-0ACF-78D78F796A4F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nothing", "node_modules\node-addon-api\nothing.vcxproj", "{4C3ED550-BD81-6C01-0ACF-78D78F796A4F}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(node_modules)", "..\node_modules", "{9D350B9E-06FB-960D-859F-B43C9597383A}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(node-addon-api)", "..\node_modules\node-addon-api", "{AF891C37-E709-9CCC-0D50-0CCCC8CCC563}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|x64 = Debug|x64
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {4C3ED550-BD81-6C01-0ACF-78D78F796A4F}.Debug|x64.ActiveCfg = Debug|x64
- {4C3ED550-BD81-6C01-0ACF-78D78F796A4F}.Debug|x64.Build.0 = Debug|x64
- {4C3ED550-BD81-6C01-0ACF-78D78F796A4F}.Release|x64.ActiveCfg = Release|x64
- {4C3ED550-BD81-6C01-0ACF-78D78F796A4F}.Release|x64.Build.0 = Release|x64
- {58BCD6E2-894F-5575-B8EA-BB3438277F6A}.Debug|x64.ActiveCfg = Debug|x64
- {58BCD6E2-894F-5575-B8EA-BB3438277F6A}.Debug|x64.Build.0 = Debug|x64
- {58BCD6E2-894F-5575-B8EA-BB3438277F6A}.Release|x64.ActiveCfg = Release|x64
- {58BCD6E2-894F-5575-B8EA-BB3438277F6A}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {AF891C37-E709-9CCC-0D50-0CCCC8CCC563} = {9D350B9E-06FB-960D-859F-B43C9597383A}
- {4C3ED550-BD81-6C01-0ACF-78D78F796A4F} = {AF891C37-E709-9CCC-0D50-0CCCC8CCC563}
- EndGlobalSection
-EndGlobal
diff --git a/env_xbb_lastest_cheerio/build/boda.vcxproj b/env_xbb_lastest_cheerio/build/boda.vcxproj
deleted file mode 100644
index 845403bd..00000000
--- a/env_xbb_lastest_cheerio/build/boda.vcxproj
+++ /dev/null
@@ -1,154 +0,0 @@
-
-
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
- {58BCD6E2-894F-5575-B8EA-BB3438277F6A}
- Win32Proj
- boda
- true
- x64
- 10.0.22000.0
-
-
-
- DynamicLibrary
-
-
- v143
-
-
-
-
-
-
-
-
-
- $(ExecutablePath);$(MSBuildProjectDirectory)\..\bin\;$(MSBuildProjectDirectory)\..\bin\
- true
- $(Configuration)\obj\$(ProjectName)\
- false
- true
- $(SolutionDir)$(Configuration)\
- .node
- .node
- .node
- .node
- $(ProjectName)
- $(OutDir)\$(ProjectName).node
-
-
-
- C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\include\node;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\src;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\config;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\openssl\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\uv\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\zlib;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\v8\include;D:\My_Dir\环境框架_xbb_lastest\node_modules\node-addon-api;%(AdditionalIncludeDirectories)
- /Zc:__cplusplus -std:c++17 %(AdditionalOptions)
- EnableFastChecks
- true
- OldStyle
- 4351;4355;4800;4251;4275;4244;4267;%(DisableSpecificWarnings)
- false
- false
- true
- false
- Disabled
- NotUsing
- NODE_GYP_MODULE_NAME=boda;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;V8_DEPRECATION_WARNINGS;V8_IMMINENT_DEPRECATION_WARNINGS;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;NAPI_DISABLE_CPP_EXCEPTIONS;BUILDING_NODE_EXTENSION;HOST_BINARY="node.exe";DEBUG;_DEBUG;V8_ENABLE_CHECKS;%(PreprocessorDefinitions)
- MultiThreadedDebug
- true
- true
- false
- Level3
- true
-
-
- /LTCG:INCREMENTAL %(AdditionalOptions)
-
-
- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;DelayImp.lib;"C:\\Users\\bobo\\AppData\\Local\\node-gyp\\Cache\\17.9.1\\x64\\node.lib"
- /LTCG:INCREMENTAL /ignore:4199 %(AdditionalOptions)
- node.exe;%(DelayLoadDLLs)
- true
- true
- true
- $(OutDir)$(ProjectName).node
- true
- .node
- MachineX64
-
-
- C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\include\node;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\src;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\config;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\openssl\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\uv\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\zlib;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\v8\include;D:\My_Dir\环境框架_xbb_lastest\node_modules\node-addon-api;%(AdditionalIncludeDirectories)
- NODE_GYP_MODULE_NAME=boda;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;V8_DEPRECATION_WARNINGS;V8_IMMINENT_DEPRECATION_WARNINGS;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;NAPI_DISABLE_CPP_EXCEPTIONS;BUILDING_NODE_EXTENSION;HOST_BINARY="node.exe";DEBUG;_DEBUG;V8_ENABLE_CHECKS;%(PreprocessorDefinitions);%(PreprocessorDefinitions)
-
-
-
-
- C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\include\node;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\src;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\config;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\openssl\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\uv\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\zlib;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\v8\include;D:\My_Dir\环境框架_xbb_lastest\node_modules\node-addon-api;%(AdditionalIncludeDirectories)
- /Zc:__cplusplus -std:c++17 %(AdditionalOptions)
- true
- OldStyle
- 4351;4355;4800;4251;4275;4244;4267;%(DisableSpecificWarnings)
- false
- Speed
- true
- AnySuitable
- true
- true
- true
- Full
- NotUsing
- NODE_GYP_MODULE_NAME=boda;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;V8_DEPRECATION_WARNINGS;V8_IMMINENT_DEPRECATION_WARNINGS;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;NAPI_DISABLE_CPP_EXCEPTIONS;BUILDING_NODE_EXTENSION;HOST_BINARY="node.exe";%(PreprocessorDefinitions)
- MultiThreaded
- false
- true
- true
- false
- Level3
- true
-
-
- /LTCG:INCREMENTAL %(AdditionalOptions)
-
-
- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;DelayImp.lib;"C:\\Users\\bobo\\AppData\\Local\\node-gyp\\Cache\\17.9.1\\x64\\node.lib"
- /LTCG:INCREMENTAL /ignore:4199 %(AdditionalOptions)
- node.exe;%(DelayLoadDLLs)
- true
- true
- true
- $(OutDir)$(ProjectName).node
- true
- .node
- MachineX64
-
-
- C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\include\node;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\src;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\config;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\openssl\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\uv\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\zlib;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\v8\include;D:\My_Dir\环境框架_xbb_lastest\node_modules\node-addon-api;%(AdditionalIncludeDirectories)
- NODE_GYP_MODULE_NAME=boda;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;V8_DEPRECATION_WARNINGS;V8_IMMINENT_DEPRECATION_WARNINGS;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;NAPI_DISABLE_CPP_EXCEPTIONS;BUILDING_NODE_EXTENSION;HOST_BINARY="node.exe";%(PreprocessorDefinitions);%(PreprocessorDefinitions)
-
-
-
-
-
-
-
- $(IntDir)\c++_src\main.obj
-
-
-
-
-
- {4C3ED550-BD81-6C01-0ACF-78D78F796A4F}
- false
-
-
-
-
-
-
diff --git a/env_xbb_lastest_cheerio/build/boda.vcxproj.filters b/env_xbb_lastest_cheerio/build/boda.vcxproj.filters
deleted file mode 100644
index 726b36f9..00000000
--- a/env_xbb_lastest_cheerio/build/boda.vcxproj.filters
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
- {739DB09A-CC57-A953-A6CF-F64FA08E4FA7}
-
-
- {D204A00C-2CBA-5A59-2531-B9A5C2898CC9}
-
-
- {E5D29F2B-0177-9942-CA95-0FF700094F89}
-
-
- {B529C042-30F7-BDBA-350E-0F9BB018A35B}
-
-
- {56DF7A98-063D-FB9D-485C-089023B4C16A}
-
-
- {77348C0E-2034-7791-74D5-63C077DF5A3B}
-
-
- {8CDEE807-BC53-E450-C8B8-4DEBB66742D4}
-
-
- {739DB09A-CC57-A953-A6CF-F64FA08E4FA7}
-
-
-
-
- ..\c++_src
-
-
- D:\GlobalNode\node_modules\node-gyp\src
-
-
- ..
-
-
-
diff --git a/env_xbb_lastest_cheerio/build/config.gypi b/env_xbb_lastest_cheerio/build/config.gypi
deleted file mode 100644
index aafc1ee8..00000000
--- a/env_xbb_lastest_cheerio/build/config.gypi
+++ /dev/null
@@ -1,366 +0,0 @@
-# Do not edit. File was generated by node-gyp's "configure" step
-{
- "target_defaults": {
- "cflags": [],
- "default_configuration": "Release",
- "defines": [],
- "include_dirs": [],
- "libraries": [],
- "msbuild_toolset": "v143",
- "msvs_windows_target_platform_version": "10.0.22000.0"
- },
- "variables": {
- "asan": 0,
- "coverage": "false",
- "dcheck_always_on": 0,
- "debug_nghttp2": "false",
- "debug_node": "false",
- "enable_lto": "false",
- "enable_pgo_generate": "false",
- "enable_pgo_use": "false",
- "error_on_warn": "false",
- "force_dynamic_crt": 0,
- "host_arch": "x64",
- "icu_data_in": "..\\..\\deps\\icu-tmp\\icudt70l.dat",
- "icu_endianness": "l",
- "icu_gyp_path": "tools/icu/icu-generic.gyp",
- "icu_path": "deps/icu-small",
- "icu_small": "false",
- "icu_ver_major": "70",
- "is_debug": 0,
- "llvm_version": "0.0",
- "napi_build_version": "8",
- "nasm_version": "2.15",
- "node_byteorder": "little",
- "node_debug_lib": "false",
- "node_enable_d8": "false",
- "node_fipsinstall": "false",
- "node_install_corepack": "true",
- "node_install_npm": "true",
- "node_library_files": [
- "lib/assert.js",
- "lib/async_hooks.js",
- "lib/buffer.js",
- "lib/child_process.js",
- "lib/cluster.js",
- "lib/console.js",
- "lib/constants.js",
- "lib/crypto.js",
- "lib/dgram.js",
- "lib/diagnostics_channel.js",
- "lib/dns.js",
- "lib/domain.js",
- "lib/events.js",
- "lib/fs.js",
- "lib/http.js",
- "lib/http2.js",
- "lib/https.js",
- "lib/inspector.js",
- "lib/module.js",
- "lib/net.js",
- "lib/os.js",
- "lib/path.js",
- "lib/perf_hooks.js",
- "lib/process.js",
- "lib/punycode.js",
- "lib/querystring.js",
- "lib/readline.js",
- "lib/repl.js",
- "lib/stream.js",
- "lib/string_decoder.js",
- "lib/sys.js",
- "lib/timers.js",
- "lib/tls.js",
- "lib/trace_events.js",
- "lib/tty.js",
- "lib/url.js",
- "lib/util.js",
- "lib/v8.js",
- "lib/vm.js",
- "lib/wasi.js",
- "lib/worker_threads.js",
- "lib/zlib.js",
- "lib/_http_agent.js",
- "lib/_http_client.js",
- "lib/_http_common.js",
- "lib/_http_incoming.js",
- "lib/_http_outgoing.js",
- "lib/_http_server.js",
- "lib/_stream_duplex.js",
- "lib/_stream_passthrough.js",
- "lib/_stream_readable.js",
- "lib/_stream_transform.js",
- "lib/_stream_wrap.js",
- "lib/_stream_writable.js",
- "lib/_tls_common.js",
- "lib/_tls_wrap.js",
- "lib/assert/strict.js",
- "lib/dns/promises.js",
- "lib/fs/promises.js",
- "lib/internal/abort_controller.js",
- "lib/internal/assert.js",
- "lib/internal/async_hooks.js",
- "lib/internal/blob.js",
- "lib/internal/blocklist.js",
- "lib/internal/buffer.js",
- "lib/internal/child_process.js",
- "lib/internal/cli_table.js",
- "lib/internal/constants.js",
- "lib/internal/dgram.js",
- "lib/internal/dtrace.js",
- "lib/internal/encoding.js",
- "lib/internal/errors.js",
- "lib/internal/error_serdes.js",
- "lib/internal/event_target.js",
- "lib/internal/fixed_queue.js",
- "lib/internal/freelist.js",
- "lib/internal/freeze_intrinsics.js",
- "lib/internal/heap_utils.js",
- "lib/internal/histogram.js",
- "lib/internal/http.js",
- "lib/internal/idna.js",
- "lib/internal/inspector_async_hook.js",
- "lib/internal/js_stream_socket.js",
- "lib/internal/linkedlist.js",
- "lib/internal/net.js",
- "lib/internal/options.js",
- "lib/internal/priority_queue.js",
- "lib/internal/promise_hooks.js",
- "lib/internal/querystring.js",
- "lib/internal/repl.js",
- "lib/internal/socketaddress.js",
- "lib/internal/socket_list.js",
- "lib/internal/stream_base_commons.js",
- "lib/internal/structured_clone.js",
- "lib/internal/timers.js",
- "lib/internal/trace_events_async_hooks.js",
- "lib/internal/tty.js",
- "lib/internal/url.js",
- "lib/internal/util.js",
- "lib/internal/v8_prof_polyfill.js",
- "lib/internal/v8_prof_processor.js",
- "lib/internal/validators.js",
- "lib/internal/watchdog.js",
- "lib/internal/worker.js",
- "lib/internal/assert/assertion_error.js",
- "lib/internal/assert/calltracker.js",
- "lib/internal/bootstrap/environment.js",
- "lib/internal/bootstrap/loaders.js",
- "lib/internal/bootstrap/node.js",
- "lib/internal/bootstrap/pre_execution.js",
- "lib/internal/bootstrap/switches/does_not_own_process_state.js",
- "lib/internal/bootstrap/switches/does_own_process_state.js",
- "lib/internal/bootstrap/switches/is_main_thread.js",
- "lib/internal/bootstrap/switches/is_not_main_thread.js",
- "lib/internal/child_process/serialization.js",
- "lib/internal/cluster/child.js",
- "lib/internal/cluster/primary.js",
- "lib/internal/cluster/round_robin_handle.js",
- "lib/internal/cluster/shared_handle.js",
- "lib/internal/cluster/utils.js",
- "lib/internal/cluster/worker.js",
- "lib/internal/console/constructor.js",
- "lib/internal/console/global.js",
- "lib/internal/crypto/aes.js",
- "lib/internal/crypto/certificate.js",
- "lib/internal/crypto/cipher.js",
- "lib/internal/crypto/diffiehellman.js",
- "lib/internal/crypto/dsa.js",
- "lib/internal/crypto/ec.js",
- "lib/internal/crypto/hash.js",
- "lib/internal/crypto/hashnames.js",
- "lib/internal/crypto/hkdf.js",
- "lib/internal/crypto/keygen.js",
- "lib/internal/crypto/keys.js",
- "lib/internal/crypto/mac.js",
- "lib/internal/crypto/pbkdf2.js",
- "lib/internal/crypto/random.js",
- "lib/internal/crypto/rsa.js",
- "lib/internal/crypto/scrypt.js",
- "lib/internal/crypto/sig.js",
- "lib/internal/crypto/util.js",
- "lib/internal/crypto/webcrypto.js",
- "lib/internal/crypto/x509.js",
- "lib/internal/debugger/inspect.js",
- "lib/internal/debugger/inspect_client.js",
- "lib/internal/debugger/inspect_repl.js",
- "lib/internal/dns/promises.js",
- "lib/internal/dns/utils.js",
- "lib/internal/fs/dir.js",
- "lib/internal/fs/promises.js",
- "lib/internal/fs/read_file_context.js",
- "lib/internal/fs/rimraf.js",
- "lib/internal/fs/streams.js",
- "lib/internal/fs/sync_write_stream.js",
- "lib/internal/fs/utils.js",
- "lib/internal/fs/watchers.js",
- "lib/internal/fs/cp/cp-sync.js",
- "lib/internal/fs/cp/cp.js",
- "lib/internal/http2/compat.js",
- "lib/internal/http2/core.js",
- "lib/internal/http2/util.js",
- "lib/internal/legacy/processbinding.js",
- "lib/internal/main/check_syntax.js",
- "lib/internal/main/eval_stdin.js",
- "lib/internal/main/eval_string.js",
- "lib/internal/main/inspect.js",
- "lib/internal/main/mksnapshot.js",
- "lib/internal/main/print_help.js",
- "lib/internal/main/prof_process.js",
- "lib/internal/main/repl.js",
- "lib/internal/main/run_main_module.js",
- "lib/internal/main/worker_thread.js",
- "lib/internal/modules/package_json_reader.js",
- "lib/internal/modules/run_main.js",
- "lib/internal/modules/cjs/helpers.js",
- "lib/internal/modules/cjs/loader.js",
- "lib/internal/modules/esm/assert.js",
- "lib/internal/modules/esm/create_dynamic_module.js",
- "lib/internal/modules/esm/fetch_module.js",
- "lib/internal/modules/esm/formats.js",
- "lib/internal/modules/esm/get_format.js",
- "lib/internal/modules/esm/get_source.js",
- "lib/internal/modules/esm/handle_process_exit.js",
- "lib/internal/modules/esm/initialize_import_meta.js",
- "lib/internal/modules/esm/load.js",
- "lib/internal/modules/esm/loader.js",
- "lib/internal/modules/esm/module_job.js",
- "lib/internal/modules/esm/module_map.js",
- "lib/internal/modules/esm/resolve.js",
- "lib/internal/modules/esm/translators.js",
- "lib/internal/perf/event_loop_delay.js",
- "lib/internal/perf/event_loop_utilization.js",
- "lib/internal/perf/nodetiming.js",
- "lib/internal/perf/observe.js",
- "lib/internal/perf/performance.js",
- "lib/internal/perf/performance_entry.js",
- "lib/internal/perf/timerify.js",
- "lib/internal/perf/usertiming.js",
- "lib/internal/perf/utils.js",
- "lib/internal/per_context/domexception.js",
- "lib/internal/per_context/messageport.js",
- "lib/internal/per_context/primordials.js",
- "lib/internal/policy/manifest.js",
- "lib/internal/policy/sri.js",
- "lib/internal/process/esm_loader.js",
- "lib/internal/process/execution.js",
- "lib/internal/process/per_thread.js",
- "lib/internal/process/policy.js",
- "lib/internal/process/promises.js",
- "lib/internal/process/report.js",
- "lib/internal/process/signal.js",
- "lib/internal/process/task_queues.js",
- "lib/internal/process/warning.js",
- "lib/internal/process/worker_thread_only.js",
- "lib/internal/readline/callbacks.js",
- "lib/internal/readline/emitKeypressEvents.js",
- "lib/internal/readline/interface.js",
- "lib/internal/readline/promises.js",
- "lib/internal/readline/utils.js",
- "lib/internal/repl/await.js",
- "lib/internal/repl/history.js",
- "lib/internal/repl/utils.js",
- "lib/internal/source_map/prepare_stack_trace.js",
- "lib/internal/source_map/source_map.js",
- "lib/internal/source_map/source_map_cache.js",
- "lib/internal/streams/add-abort-signal.js",
- "lib/internal/streams/buffer_list.js",
- "lib/internal/streams/compose.js",
- "lib/internal/streams/destroy.js",
- "lib/internal/streams/duplex.js",
- "lib/internal/streams/duplexify.js",
- "lib/internal/streams/end-of-stream.js",
- "lib/internal/streams/from.js",
- "lib/internal/streams/lazy_transform.js",
- "lib/internal/streams/legacy.js",
- "lib/internal/streams/operators.js",
- "lib/internal/streams/passthrough.js",
- "lib/internal/streams/pipeline.js",
- "lib/internal/streams/readable.js",
- "lib/internal/streams/state.js",
- "lib/internal/streams/transform.js",
- "lib/internal/streams/utils.js",
- "lib/internal/streams/writable.js",
- "lib/internal/test/binding.js",
- "lib/internal/test/transfer.js",
- "lib/internal/tls/parse-cert-string.js",
- "lib/internal/tls/secure-context.js",
- "lib/internal/tls/secure-pair.js",
- "lib/internal/util/comparisons.js",
- "lib/internal/util/debuglog.js",
- "lib/internal/util/inspect.js",
- "lib/internal/util/inspector.js",
- "lib/internal/util/iterable_weak_map.js",
- "lib/internal/util/types.js",
- "lib/internal/vm/module.js",
- "lib/internal/webstreams/adapters.js",
- "lib/internal/webstreams/compression.js",
- "lib/internal/webstreams/encoding.js",
- "lib/internal/webstreams/queuingstrategies.js",
- "lib/internal/webstreams/readablestream.js",
- "lib/internal/webstreams/transfer.js",
- "lib/internal/webstreams/transformstream.js",
- "lib/internal/webstreams/util.js",
- "lib/internal/webstreams/writablestream.js",
- "lib/internal/worker/io.js",
- "lib/internal/worker/js_transferable.js",
- "lib/path/posix.js",
- "lib/path/win32.js",
- "lib/readline/promises.js",
- "lib/stream/consumers.js",
- "lib/stream/promises.js",
- "lib/stream/web.js",
- "lib/timers/promises.js",
- "lib/util/types.js"
- ],
- "node_module_version": 102,
- "node_no_browser_globals": "false",
- "node_prefix": "/usr/local",
- "node_release_urlbase": "https://nodejs.org/download/release/",
- "node_shared": "false",
- "node_shared_brotli": "false",
- "node_shared_cares": "false",
- "node_shared_http_parser": "false",
- "node_shared_libuv": "false",
- "node_shared_nghttp2": "false",
- "node_shared_nghttp3": "false",
- "node_shared_ngtcp2": "false",
- "node_shared_openssl": "false",
- "node_shared_zlib": "false",
- "node_tag": "",
- "node_target_type": "executable",
- "node_use_bundled_v8": "true",
- "node_use_dtrace": "false",
- "node_use_etw": "true",
- "node_use_node_code_cache": "true",
- "node_use_node_snapshot": "true",
- "node_use_openssl": "true",
- "node_use_v8_platform": "true",
- "node_with_ltcg": "true",
- "node_without_node_options": "false",
- "openssl_is_fips": "false",
- "openssl_quic": "true",
- "ossfuzz": "false",
- "shlib_suffix": "so.102",
- "target_arch": "x64",
- "v8_enable_31bit_smis_on_64bit_arch": 0,
- "v8_enable_gdbjit": 0,
- "v8_enable_hugepage": 0,
- "v8_enable_i18n_support": 1,
- "v8_enable_inspector": 1,
- "v8_enable_lite_mode": 0,
- "v8_enable_object_print": 1,
- "v8_enable_pointer_compression": 0,
- "v8_enable_webassembly": 1,
- "v8_no_strict_aliasing": 1,
- "v8_optimized_debug": 1,
- "v8_promise_internal_field_count": 1,
- "v8_random_seed": 0,
- "v8_trace_maps": 0,
- "v8_use_siphash": 1,
- "want_separate_host_toolset": 0,
- "nodedir": "C:\\Users\\bobo\\AppData\\Local\\node-gyp\\Cache\\17.9.1",
- "standalone_static_library": 1,
- "msbuild_path": "D:\\C++\\MSBuild\\Current\\Bin\\MSBuild.exe"
- }
-}
diff --git a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/node_modules/node-addon-api/nothing.obj b/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/node_modules/node-addon-api/nothing.obj
deleted file mode 100644
index 7b4894a5..00000000
Binary files a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/node_modules/node-addon-api/nothing.obj and /dev/null differ
diff --git a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.lib.recipe b/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.lib.recipe
deleted file mode 100644
index a53f9611..00000000
--- a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.lib.recipe
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/CL.command.1.tlog b/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/CL.command.1.tlog
deleted file mode 100644
index db4662b2..00000000
Binary files a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/CL.command.1.tlog and /dev/null differ
diff --git a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/CL.read.1.tlog b/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/CL.read.1.tlog
deleted file mode 100644
index 4e1d6253..00000000
Binary files a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/CL.read.1.tlog and /dev/null differ
diff --git a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/CL.write.1.tlog b/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/CL.write.1.tlog
deleted file mode 100644
index 2092e291..00000000
Binary files a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/CL.write.1.tlog and /dev/null differ
diff --git a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/Lib-link.read.1.tlog b/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/Lib-link.read.1.tlog
deleted file mode 100644
index 877da844..00000000
Binary files a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/Lib-link.read.1.tlog and /dev/null differ
diff --git a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/Lib-link.write.1.tlog b/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/Lib-link.write.1.tlog
deleted file mode 100644
index c50f4711..00000000
Binary files a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/Lib-link.write.1.tlog and /dev/null differ
diff --git a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/Lib.command.1.tlog b/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/Lib.command.1.tlog
deleted file mode 100644
index bbd1681f..00000000
Binary files a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/Lib.command.1.tlog and /dev/null differ
diff --git a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/nothing.lastbuildstate b/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/nothing.lastbuildstate
deleted file mode 100644
index 14b8f827..00000000
--- a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/nothing.tlog/nothing.lastbuildstate
+++ /dev/null
@@ -1,2 +0,0 @@
-PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.34.31933:TargetPlatformVersion=10.0.22000.0:
-Release|x64|D:\My_Dir\环境框架_xbb_lastest\build\|
diff --git a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/win_delay_load_hook.obj b/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/win_delay_load_hook.obj
deleted file mode 100644
index f14a1bba..00000000
Binary files a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/Release/obj/nothing/win_delay_load_hook.obj and /dev/null differ
diff --git a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/node_api.sln b/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/node_api.sln
deleted file mode 100644
index 6af5cf34..00000000
--- a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/node_api.sln
+++ /dev/null
@@ -1,19 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2015
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nothing", "nothing.vcxproj", "{4C3ED550-BD81-6C01-0ACF-78D78F796A4F}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|x64 = Debug|x64
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {4C3ED550-BD81-6C01-0ACF-78D78F796A4F}.Debug|x64.ActiveCfg = Debug|x64
- {4C3ED550-BD81-6C01-0ACF-78D78F796A4F}.Debug|x64.Build.0 = Debug|x64
- {4C3ED550-BD81-6C01-0ACF-78D78F796A4F}.Release|x64.ActiveCfg = Release|x64
- {4C3ED550-BD81-6C01-0ACF-78D78F796A4F}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/nothing.vcxproj b/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/nothing.vcxproj
deleted file mode 100644
index f8927706..00000000
--- a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/nothing.vcxproj
+++ /dev/null
@@ -1,141 +0,0 @@
-
-
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
- {4C3ED550-BD81-6C01-0ACF-78D78F796A4F}
- Win32Proj
- nothing
- true
- x64
- 10.0.22000.0
-
-
-
- StaticLibrary
-
-
- v143
-
-
-
-
-
-
-
-
-
- $(ExecutablePath);$(MSBuildProjectDirectory)\..\..\..\node_modules\node-addon-api\bin\;$(MSBuildProjectDirectory)\..\..\..\node_modules\node-addon-api\bin\
- $(Configuration)\obj\$(ProjectName)\
- false
- true
- $(SolutionDir)$(Configuration)\
- $(ProjectName)
- $(OutDir)\$(ProjectName)$(TargetExt)
-
-
-
- C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\include\node;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\src;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\config;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\openssl\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\uv\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\zlib;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\v8\include;%(AdditionalIncludeDirectories)
- /Zc:__cplusplus -std:c++17 %(AdditionalOptions)
- EnableFastChecks
- true
- OldStyle
- 4351;4355;4800;4251;4275;4244;4267;%(DisableSpecificWarnings)
- false
- false
- true
- false
- Disabled
- NotUsing
- NODE_GYP_MODULE_NAME=nothing;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;V8_DEPRECATION_WARNINGS;V8_IMMINENT_DEPRECATION_WARNINGS;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;HOST_BINARY="node.exe";DEBUG;_DEBUG;V8_ENABLE_CHECKS;%(PreprocessorDefinitions)
- MultiThreadedDebug
- true
- true
- false
- Level3
- true
-
-
- /LTCG:INCREMENTAL %(AdditionalOptions)
- $(OutDir)$(ProjectName)$(TargetExt)
-
-
- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;DelayImp.lib;"C:\\Users\\bobo\\AppData\\Local\\node-gyp\\Cache\\17.9.1\\x64\\node.lib"
- /LTCG:INCREMENTAL /ignore:4199 %(AdditionalOptions)
- node.exe;%(DelayLoadDLLs)
- true
- true
- true
- true
- MachineX64
-
-
- C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\include\node;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\src;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\config;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\openssl\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\uv\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\zlib;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\v8\include;%(AdditionalIncludeDirectories)
- NODE_GYP_MODULE_NAME=nothing;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;V8_DEPRECATION_WARNINGS;V8_IMMINENT_DEPRECATION_WARNINGS;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;HOST_BINARY="node.exe";DEBUG;_DEBUG;V8_ENABLE_CHECKS;%(PreprocessorDefinitions);%(PreprocessorDefinitions)
-
-
-
-
- C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\include\node;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\src;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\config;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\openssl\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\uv\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\zlib;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\v8\include;%(AdditionalIncludeDirectories)
- /Zc:__cplusplus -std:c++17 %(AdditionalOptions)
- true
- OldStyle
- 4351;4355;4800;4251;4275;4244;4267;%(DisableSpecificWarnings)
- false
- Speed
- true
- AnySuitable
- true
- true
- true
- Full
- NotUsing
- NODE_GYP_MODULE_NAME=nothing;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;V8_DEPRECATION_WARNINGS;V8_IMMINENT_DEPRECATION_WARNINGS;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;HOST_BINARY="node.exe";%(PreprocessorDefinitions)
- MultiThreaded
- false
- true
- true
- false
- Level3
- true
-
-
- /LTCG:INCREMENTAL %(AdditionalOptions)
- $(OutDir)$(ProjectName)$(TargetExt)
-
-
- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;DelayImp.lib;"C:\\Users\\bobo\\AppData\\Local\\node-gyp\\Cache\\17.9.1\\x64\\node.lib"
- /LTCG:INCREMENTAL /ignore:4199 %(AdditionalOptions)
- node.exe;%(DelayLoadDLLs)
- true
- true
- true
- true
- MachineX64
-
-
- C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\include\node;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\src;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\config;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\openssl\openssl\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\uv\include;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\zlib;C:\Users\bobo\AppData\Local\node-gyp\Cache\17.9.1\deps\v8\include;%(AdditionalIncludeDirectories)
- NODE_GYP_MODULE_NAME=nothing;USING_UV_SHARED=1;USING_V8_SHARED=1;V8_DEPRECATION_WARNINGS=1;V8_DEPRECATION_WARNINGS;V8_IMMINENT_DEPRECATION_WARNINGS;_GLIBCXX_USE_CXX11_ABI=1;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_HAS_EXCEPTIONS=0;OPENSSL_NO_PINSHARED;OPENSSL_THREADS;HOST_BINARY="node.exe";%(PreprocessorDefinitions);%(PreprocessorDefinitions)
-
-
-
-
-
-
-
- $(IntDir)\node_modules\node-addon-api\nothing.obj
-
-
-
-
-
-
-
diff --git a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/nothing.vcxproj.filters b/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/nothing.vcxproj.filters
deleted file mode 100644
index aca4dc26..00000000
--- a/env_xbb_lastest_cheerio/build/node_modules/node-addon-api/nothing.vcxproj.filters
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
- {739DB09A-CC57-A953-A6CF-F64FA08E4FA7}
-
-
- {739DB09A-CC57-A953-A6CF-F64FA08E4FA7}
-
-
- {739DB09A-CC57-A953-A6CF-F64FA08E4FA7}
-
-
- {56DF7A98-063D-FB9D-485C-089023B4C16A}
-
-
- {A353D9AF-FDFE-F893-56AE-2F252738A960}
-
-
- {E5D29F2B-0177-9942-CA95-0FF700094F89}
-
-
- {B529C042-30F7-BDBA-350E-0F9BB018A35B}
-
-
- {56DF7A98-063D-FB9D-485C-089023B4C16A}
-
-
- {77348C0E-2034-7791-74D5-63C077DF5A3B}
-
-
- {8CDEE807-BC53-E450-C8B8-4DEBB66742D4}
-
-
- {739DB09A-CC57-A953-A6CF-F64FA08E4FA7}
-
-
- {739DB09A-CC57-A953-A6CF-F64FA08E4FA7}
-
-
- {739DB09A-CC57-A953-A6CF-F64FA08E4FA7}
-
-
- {56DF7A98-063D-FB9D-485C-089023B4C16A}
-
-
- {A353D9AF-FDFE-F893-56AE-2F252738A960}
-
-
-
-
- ..\..\..\node_modules\node-addon-api
-
-
- D:\GlobalNode\node_modules\node-gyp\src
-
-
- ..\..\..\node_modules\node-addon-api
-
-
-
diff --git a/env_xbb_lastest_cheerio/config/changeDom.js b/env_xbb_lastest_cheerio/config/changeDom.js
deleted file mode 100644
index 9464a129..00000000
--- a/env_xbb_lastest_cheerio/config/changeDom.js
+++ /dev/null
@@ -1,103 +0,0 @@
-var canvassss=document.createElement("canvas")
-var cccc=canvassss.getContext("2d")
-var aaaaaa=
-`
-bodavm.memory.location={
- origin:"${location.origin}",
- hash:"${location.hash}",
- pathname:"${location.pathname}",
- search:"${location.search}",
- href:"${location.href}",
- port:"${location.port}",
- protocol:"${location.protocol}",
- host:"${location.host}",
- ancestorOrigins:"${JSON.stringify(location.ancestorOrigins)}",
- hostname:"${location.hostname}"
-};
-
-bodavm.memory.document={
- URL:"${document.URL}",
- referrer:"${document.referrer}",
- documentURI:"${document.documentURI}",
- compatMode:"${document.compatMode}",
- dir:"${document.dir}",
- title:"${document.title}",
- designMode:"${document.designMode}",
- readyState:"${document.readyState}",
- contentType:"${document.contentType}",
- inputEncoding:"${document.inputEncoding}",
- domain:"${document.domain}",
- characterSet:"${document.characterSet}",
- charset:"${document.charset}",
- hidden:"${document.hidden}",
- onmousemove:${document.onmousemove},
- onselectionchange:${document.onselectionchange},
-
-};
-
-bodavm.memory.htmldivelement={
- align:"${HTMLDivElement.align}",
-
-};
-
-bodavm.memory.history={
- scrollRestoration:"${history.scrollRestoration}"
-};
-
-bodavm.memory.screen={
- width:${screen.width},
- height:${screen.height},
- availWidth:${screen.availWidth},
- availHeight:${screen.availHeight},
- pixelDepth:${screen.pixelDepth},
- colorDepth:${screen.colorDepth},
- availLeft:${screen.availLeft},
- availTop:${screen.availTop},
- isExtended:${screen.isExtended},
- orientation:${JSON.stringify(screen.orientation)},
- onchange:${screen.onchange},
-};
-
-bodavm.memory.navigator={
- language:"${navigator.language}",
- userAgent:"${navigator.userAgent}",
- appVersion:"${navigator.appVersion}",
- vendor:"${navigator.vendor}",
- appName:"${navigator.appName}",
- appCodeName:"${navigator.appCodeName}",
- cookieEnabled:${navigator.cookieEnabled},
- languages:${JSON.stringify(navigator.languages)},
- productSub:"${navigator.productSub}",
- userAgentData:${JSON.stringify(navigator.userAgentData)},
- xr:${JSON.stringify(navigator.xr)},
- platform:'${navigator.platform}',
- webkitPersistentStorage:${JSON.stringify(navigator.webkitPersistentStorage)},
- connection:${JSON.stringify(navigator.connection)},
- javaEnabled:${navigator.javaEnabled()},
- product:${navigator.product},
- vendorSub:${navigator.vendorSub?navigator.vendorSub:''},
- deviceMemory:${navigator.deviceMemory},
- maxTouchPoints:${navigator.maxTouchPoints}
-};
-bodavm.memory.window={
- name:${JSON.stringify(window.name)},
- innerWidth:1440,
- innerHeight:817,
- origin:${JSON.stringify(window.origin)},
- outerWidth:1440,
- outerHeight:920,
- defaultStatus:${JSON.stringify(window.defaultStatus)},
- defaultstatus:${JSON.stringify(window.defaultstatus)},
- devicePixelRatio:${window.devicePixelRatio},
- isSecureContext:${window.isSecureContext},
- length:${window.length},
- status:${JSON.stringify(window.status)},
- onmessage:${window.onmessage},
- onbeforeunload:${window.onbeforeunload},
-
-};
-bodavm.memory.localStorage={}
-
-`
-
-copy(aaaaaa)
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/config/config.js b/env_xbb_lastest_cheerio/config/config.js
deleted file mode 100644
index 68983ac9..00000000
--- a/env_xbb_lastest_cheerio/config/config.js
+++ /dev/null
@@ -1,172 +0,0 @@
-//全局对象配置
-// debugger
-var myloglist=[]
-var myloglistindex=0
-var myundefinedlist=[]
-var bodavm = {
-
- "toolsFunc": {}, //功能函数相关,插件
- "envFunc": {},//环境相关
- "config": {}, //配置相关
- "memory":{},
- "toolsPlugin": {} //Plugin相关
-}
-
-
-bodavm.memory.tag=[] //存放标签
-bodavm.memory.globalobj={} //全局对象
-bodavm.config.isdebug=false ; //是否开启debugger
-// bodavm.config.getundefined=true //暂未实现
-bodavm.config.isrs=true //判断当前网站是不是瑞数
-bodavm.config.proxy = false; //是否代理
-
-bodavm.config.randomhook=false //hook随机值和时间
-bodavm.config.printLog=true; //是否打开日志
-// bodavm.memory.isproxy= {}
-bodavm.memory.symbolProxy=Symbol("proxy")
-
-bodavm.memory.symbolProperty=Symbol('Property')
-
-bodavm.memory.symbolData=Symbol("data")
-
-// if (bodavm.config.issymbolProperty && bodavm.config.proxy ){
-bodavm.memory.filterProxyProp =['hasOwnProperty','__proto__','constructor','valueOf',bodavm.memory.symbolProperty,bodavm.memory.symbolProxy,bodavm.memory.symbolData,Symbol.toPrimitive,Symbol.toStringTag, "eval",'toString','prototype'];
-// }else{
- // bodavm.memory.filterProxyProp =['prototype','hasOwnProperty',bodavm.memory.symbolProperty,bodavm.memory.symbolProxy,bodavm.memory.symbolData,Symbol.toPrimitive,Symbol.toStringTag, "eval"];// 需要过滤的属性
-// }
-
-
-// bodavm.memory.filterProxyProp=['toJSON','undefined','splice','String','fromCharCode','apply','prototype','__proto__','toString','Object','Array',"eval",'Symbol(Symbol.toStringTag)','Symbol.toStringTag','bodavm.memory.symbolData',"Symbol(Symbol.species)",'Symbol(Symbol.hasInstance)'] //需要过滤 的属性
-//用来保存当前对象上的原型属性
-bodavm.memory.globalInit={}
-bodavm.memory.globalInit.jsonCookie = {};// json格式的cookie
-bodavm.memory.userInit={}
-//存储tag标签
-bodavm.memory.all=[]
-
-bodavm.memory.collection={
-
-}
-
-// bodavm.memory.localStorage={};
-bodavm.memory.cookie1='' //用来存储555
-bodavm.memory.cookie2={} //用来存储"a=10"
-bodavm.memory.cookie=''; //拼接cookie1 和cookie2
-
-bodavm.memory.asyncEvent={
- HTMLElement:{onload:[]}
-
-};
-bodavm.memory.globalInit.timeoutID=0;
-// "Verdana;Helvetica Neue LT Pro 35 Thin;tahoma;verdana;times new roman;Courier New;Microsoft Himalaya;helvetica;LG-FZKaTong-M19-V2.2;Georgia;georgia;courier new;Arial;arial;cursive;times;fantasy;courier;serif;monospace;Times New Roman"
-bodavm.memory.globalInit.fontList = ["SimHei", "SimSun", "NSimSun", "FangSong", "KaiTi",'Verdana', 'Helvetica Neue LT Pro 35 Thin', 'tahoma', 'verdana', 'times new roman', 'Courier New', 'Microsoft Himalaya', 'helvetica', 'LG-FZKaTong-M19-V2.2', 'Georgia', 'georgia', 'courier new', 'Arial', 'arial', 'cursive', 'times', 'fantasy', 'courier', 'serif', 'monospace', 'Times New Roman']
-
-bodavm.memory.font={
- "font-family":'',
- "fontFamily":''
-}
-bodavm.memory.IDBRequest={
- onerror:"",
- onupgradeneeded:'',
- onsuccess:'',
-}
-bodavm.memory.IDBOpenDBRequest={
- onupgradeneeded:'',
-
-}
-
-
-bodavm.memory.location={
- origin:"http://www.fangdi.com.cn",
- hash:"",
- pathname:"/",
- search:"",
- href:"http://www.fangdi.com.cn/",
- port:"",
- protocol:"http:",
- host:"www.fangdi.com.cn",
- ancestorOrigins:"{}",
- hostname:"www.fangdi.com.cn"
-};
-
-bodavm.memory.document={
- URL:"http://www.fangdi.com.cn/",
- referrer:"",
- documentURI:"http://www.fangdi.com.cn/",
- compatMode:"CSS1Compat",
- dir:"",
- title:"网上房地产",
- designMode:"off",
- readyState:"interactive",
- contentType:"text/html",
- inputEncoding:"UTF-8",
- domain:"www.fangdi.com.cn",
- characterSet:"UTF-8",
- charset:"UTF-8",
- hidden:"false",
- onmousemove:null,
- onselectionchange:null,
-
-};
-
-bodavm.memory.htmldivelement={
- align:"undefined",
-
-};
-
-bodavm.memory.history={
- scrollRestoration:"auto"
-};
-
-bodavm.memory.screen={
- width:1440,
- height:960,
- availWidth:1440,
- availHeight:920,
- pixelDepth:24,
- colorDepth:24,
- availLeft:0,
- availTop:0,
- isExtended:undefined,
- orientation:{},
- onchange:undefined,
-};
-
-bodavm.memory.navigator={
- language:"zh-CN",
- userAgent:"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
- appVersion:"5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
- vendor:"Google Inc.",
- appName:"Netscape",
- appCodeName:"Mozilla",
- cookieEnabled:true,
- languages:["zh-CN","zh"],
- productSub:"20030107",
- userAgentData:undefined,
- xr:undefined,
- platform:'Win32',
- webkitPersistentStorage:{},
- connection:{},
- javaEnabled:false
-};
-bodavm.memory.window={
- name:"",
- innerWidth:1440,
- innerHeight:817,
- origin:"http://www.fangdi.com.cn",
- outerWidth:1440,
- outerHeight:920,
- defaultStatus:"",
- defaultstatus:"",
- devicePixelRatio:1.5,
- isSecureContext:false,
- length:0,
- status:"",
- onmessage:null,
- onbeforeunload:'',
- // clientInformation:""
-
-};
-
-// bodavm.memory.localStorage={}
-
diff --git a/env_xbb_lastest_cheerio/config/env.config.js b/env_xbb_lastest_cheerio/config/env.config.js
deleted file mode 100644
index 1229b923..00000000
--- a/env_xbb_lastest_cheerio/config/env.config.js
+++ /dev/null
@@ -1,156 +0,0 @@
-const fs = require("fs");
-const path = require("path");
-let env_path = path.resolve(__dirname, '../env/');
-let mylist = ''
-let mylist2 = ''
-let name_ = []
-function getFile(name) {
- try {
- return fs.readFileSync(`${env_path}/${name}.js`) + "\r\n";
-
- } catch (e) {
- console.log(`${env_path}/${name}.js不存在`)
- return "";
- }
-}
-
-function getHtmlElement() {
- try {
- let code = "";
- let filelist = fs.readdirSync(`${env_path}/htmlElements`)
- for (let i = 0; i < filelist.length; i++) {
- code += fs.readFileSync(`${env_path}/htmlElements/${filelist[i]}`) + "\r\n"
-
- }
- return code
- } catch (e) {
- console.log(`${env_path}/${name}.js不存在`)
- return "";
- }
-}
-
-function getCode() {
-
- let code = "//env相关代码" + "\r\n"
- code += getFile("EventTarget")
- code += getFile("WindowProperties")
- code += getFile("Window")
- code += getFile("Node")
- code += getFile("Element")
- code += getFile("HTMLElement")
- code += getFile("HTMLCollection")
- code += getHtmlElement()
- code += getFile("NetworkInformation")
- code += getFile("CustomElementRegistry")
- code += getFile("Event");
- code += getFile("UIEvent");
- code += getFile("MouseEvent");
- code += getFile("Document")
- code += getFile("HTMLDocument")
- code += getFile("Location")
- code += getFile("Storage")
- code += getFile("CharacterData")
- code += getFile("Text")
- code += getFile('Database')
- code += getFile('CloseEvent')
- code += getFile('Notification')
- code += getFile("IDBDatabase")
- code += getFile("IDBRequest")
- code += getFile("IDBOpenDBRequest")
- code += getFile("IDBFactory")
- code += getFile("History")
- code += getFile("Screen")
- code += getFile("CSSStyleDeclaration")
- code += getFile("CanvasRenderingContext2D")
- code += getFile("WebGLRenderingContext")
- code += getFile("MediaQueryList")
- code += getFile("CSSRuleList")
- code += getFile('Attr')
- code += getFile('Navigation')
- code += getFile("MediaStream")
- code += getFile("TrustedTypePolicyFactory")
- code += getFile('Scheduler')
- code += getFile("CookieStore")
-
- code += getFile("CacheStorage")
- code +=getFile('Promise')
- code += getFile('OffscreenCanvasRenderingContext2D')
- code += getFile('DeprecatedStorageInfo')
- code += getFile('SpeechSynthesis')
- code += getFile("VisualViewport")
- code += getFile('BeforeInstallPromptEvent')
- code += getFile("BarProp")
- code += getFile("BaseAudioContext")
- code += getFile("BluetoothUUID")
- code += getFile('StyleMedia')
- code += getFile('Audio')
- code += getFile("Crypto")
-
- code += getFile("CDATASection")
-
- code += getFile("Comment")
- code += getFile("DocumentFragment")
- code += getFile("DocumentType")
- code += getFile("DOMParser")
-
- code += getFile("External")
- code+=getFile('PointerEvent')
- code += getFile('WebSocket')
- code += getFile('SourceBuffer')
- code += getFile("DOMStringList")
- code += getFile("Headers")
- code += getFile("IDBObjectStore")
- code += getFile("IDBTransaction")
- code += getFile("IDBVersionChangeEvent")
- code += getFile('TextTrackList')
- code += getFile('SpeechSynthesisUtterance')
- code += getFile("MediaEncryptedEvent")
- code += getFile("MutationObserver")
- code += getFile("NamedNodeMap")
- code += getFile("NodeList")
- code += getFile("OfflineAudioContext")
- code += getFile("Path2D")
- code += getFile("Performance")
- code += getFile('ScreenOrientation')
- code += getFile("PerformanceEntry")
- code += getFile("PerformancePaintTiming")
- code += getFile("Permissions")
- code += getFile("PermissionStatus")
- code += getFile("Request")
- code += getFile("SVGElement")
- code+=getFile('DeviceOrientationEvent')
- code +=getFile('PresentationConnectionCloseEvent')
- code += getFile("SVGGraphicsElement")
- code += getFile('SVGGElement')
- code += getFile('SVGPatternElement')
- code += getFile("SVGGeometryElement")
- code += getFile("SVGPathElement")
- code += getFile("SVGSVGElement")
- code += getFile("SVGSymbolElement")
- code += getFile("SVGUseElement")
-
- code += getFile('WebGLShader')
- code += getFile("WebGLShaderPrecisionFormat")
-
- code += getFile("RTCPeerConnection")
-
- code += getFile("WebGLBuffer")
-
- code += getFile("WebGLProgram")
- code += getFile("CSS")
- code += getFile("Navigator")
- code += getFile("BatteryManager")
- code += getFile("Plugin")
- code += getFile("PluginArray")
- code += getFile("MimeType")
- code += getFile("MimeTypeArray")
- code += getFile("XMLHttpRequestEventTarget")
- code += getFile("XMLHttpRequest")
-
- // code += getFile("globalThis") //全局环境放在最后
-
- return code
-}
-module.exports = {
- getCode, getFile
-}
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/config/json.txt b/env_xbb_lastest_cheerio/config/json.txt
deleted file mode 100644
index 2ad9a4c7..00000000
--- a/env_xbb_lastest_cheerio/config/json.txt
+++ /dev/null
@@ -1,1446 +0,0 @@
-
-
-
-
-
-
-
- 网上房地产
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 全面学习把握落实党的二十大精神,奋力夺取全面建设社会主义现代化国家新胜利!
-
-
-
-
-
-
-
-
-
- 中心党员参与社区志愿服务
-
-
-
-
-
-
-
-
-
-
-
- 可售住宅
-
-
- 更多
-
-
-
- 一手房
- 一手房普通住宅
- 二手房
-
-
-
- 区域
-
- 套数(套)
- 面积(万㎡)
-
-
- 套数(套)
- 面积(万㎡)
-
-
- 套数(套)
- 面积(万㎡)
-
-
-
-
-
-
-
-
-
-
-
-
今日签约
-
- 一手房签约套数:
- 套
-
-
- 一手房签约面积:
- ㎡
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 一手房今日成交
-
-
- 更多
-
-
-
-
- 区域
- 普通住宅
- 住宅
- 总成交量
-
-
-
-
-
-
-
-
-
-
-
-
- 上海市
- 南泉北路201号2,7楼(周一至周五)
-
-
- 浦东新区
- 南泉北路201号1楼(对公业务:周一至周五)
-
-
- 浦东新区
- (张杨路受理处)张杨路2899号(近德平路)
-
-
- 浦东新区
- (惠南受理处)惠南镇人民西路1559弄1支弄5-16号
-
-
- 黄浦区
- 鲁班路158号
-
-
- 徐汇区
- 上中路466号
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/env_xbb_lastest_cheerio/config/tools.config.js b/env_xbb_lastest_cheerio/config/tools.config.js
deleted file mode 100644
index bc7b1608..00000000
--- a/env_xbb_lastest_cheerio/config/tools.config.js
+++ /dev/null
@@ -1,28 +0,0 @@
-const fs=require("fs");
-const path = require("path");
-
-
-function getFile(name) {
- let tools_path = path.resolve(__dirname, '../tools/');
- try {
- return fs.readFileSync(`${tools_path}/${name}.js`) + "\r\n";
-
- } catch (e) {
- console.log(`${tools_path}/${name}.js不存在`)
- return "";
- }
-}
-
-function getCode(){
-
- let code=""
- code+=getFile("toolsFunc")
- // code+=getFile("toolsJsSoup")
- code+=getFile("toolsParseHtml")
- code+=getFile("envFunc")
- code+=getFile("toolsPlugin")
- return code
-}
-module.exports={
- getCode,getFile
-}
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/env/Attr.js b/env_xbb_lastest_cheerio/env/Attr.js
deleted file mode 100644
index 533abcf7..00000000
--- a/env_xbb_lastest_cheerio/env/Attr.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Attr对象
-Attr = function Attr(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(Attr, "Attr");
-Attr.prototype.__proto__=Node.prototype;
-Attr.__proto__=Node;
-bodavm.toolsFunc.defineProperty(Attr.prototype, "namespaceURI", {configurable:true, enumerable:true, get:function namespaceURI (){return bodavm.toolsFunc.dispatch(this, Attr.prototype, "Attr", "namespaceURI_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Attr.prototype, "prefix", {configurable:true, enumerable:true, get:function prefix (){return bodavm.toolsFunc.dispatch(this, Attr.prototype, "Attr", "prefix_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Attr.prototype, "localName", {configurable:true, enumerable:true, get:function localName (){return bodavm.toolsFunc.dispatch(this, Attr.prototype, "Attr", "localName_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Attr.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, Attr.prototype, "Attr", "name_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Attr.prototype, "value", {configurable:true, enumerable:true, get:function value (){return bodavm.toolsFunc.dispatch(this, Attr.prototype, "Attr", "value_get", arguments)}, set:function value (){return bodavm.toolsFunc.dispatch(this, Attr.prototype, "Attr", "value_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Attr.prototype, "ownerElement", {configurable:true, enumerable:true, get:function ownerElement (){return bodavm.toolsFunc.dispatch(this, Attr.prototype, "Attr", "ownerElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Attr.prototype, "specified", {configurable:true, enumerable:true, get:function specified (){return bodavm.toolsFunc.dispatch(this, Attr.prototype, "Attr", "specified_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/Audio.js b/env_xbb_lastest_cheerio/env/Audio.js
deleted file mode 100644
index 37ad9516..00000000
--- a/env_xbb_lastest_cheerio/env/Audio.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// Audio对象
-Audio = function Audio(){}
-bodavm.toolsFunc.safeProto(Audio, "Audio");
-Audio.prototype.__proto__=HTMLMediaElement.prototype;
diff --git a/env_xbb_lastest_cheerio/env/BarProp.js b/env_xbb_lastest_cheerio/env/BarProp.js
deleted file mode 100644
index 04b21652..00000000
--- a/env_xbb_lastest_cheerio/env/BarProp.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// BarProp对象
-BarProp = function BarProp(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(BarProp, "BarProp");
-bodavm.toolsFunc.defineProperty(BarProp.prototype, "visible", {configurable:true, enumerable:true, get:function visible (){return bodavm.toolsFunc.dispatch(this, BarProp.prototype, "BarProp", "visible_get", arguments)}, set:undefined});
-// locationbar对象
-var locationbar = {}
-locationbar.__proto__=BarProp.prototype;
-
-
-var menubar={}
-menubar.__proto__= BarProp.prototype;
-
-var statusbar={}
-statusbar.__proto__=BarProp.prototype
-
-
-var toolbar={}
-toolbar.__proto__=BarProp.prototype
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/env/BaseAudioContext.js b/env_xbb_lastest_cheerio/env/BaseAudioContext.js
deleted file mode 100644
index c7aea041..00000000
--- a/env_xbb_lastest_cheerio/env/BaseAudioContext.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// BaseAudioContext对象
-BaseAudioContext = function BaseAudioContext(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(BaseAudioContext, "BaseAudioContext");
-BaseAudioContext.prototype.__proto__=EventTarget.prototype;
-BaseAudioContext.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "destination", {configurable:true, enumerable:true, get:function destination (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "destination_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "currentTime", {configurable:true, enumerable:true, get:function currentTime (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "currentTime_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "sampleRate", {configurable:true, enumerable:true, get:function sampleRate (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "sampleRate_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "listener", {configurable:true, enumerable:true, get:function listener (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "listener_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "state", {configurable:true, enumerable:true, get:function state (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "state_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "onstatechange", {configurable:true, enumerable:true, get:function onstatechange (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "onstatechange_get", arguments)}, set:function onstatechange (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "onstatechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createAnalyser", {configurable:true, enumerable:true, writable:true, value:function createAnalyser (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createAnalyser", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createBiquadFilter", {configurable:true, enumerable:true, writable:true, value:function createBiquadFilter (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createBiquadFilter", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createBuffer", {configurable:true, enumerable:true, writable:true, value:function createBuffer (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createBuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createBufferSource", {configurable:true, enumerable:true, writable:true, value:function createBufferSource (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createBufferSource", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createChannelMerger", {configurable:true, enumerable:true, writable:true, value:function createChannelMerger (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createChannelMerger", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createChannelSplitter", {configurable:true, enumerable:true, writable:true, value:function createChannelSplitter (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createChannelSplitter", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createConstantSource", {configurable:true, enumerable:true, writable:true, value:function createConstantSource (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createConstantSource", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createConvolver", {configurable:true, enumerable:true, writable:true, value:function createConvolver (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createConvolver", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createDelay", {configurable:true, enumerable:true, writable:true, value:function createDelay (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createDelay", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createDynamicsCompressor", {configurable:true, enumerable:true, writable:true, value:function createDynamicsCompressor (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createDynamicsCompressor", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createGain", {configurable:true, enumerable:true, writable:true, value:function createGain (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createGain", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createIIRFilter", {configurable:true, enumerable:true, writable:true, value:function createIIRFilter (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createIIRFilter", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createOscillator", {configurable:true, enumerable:true, writable:true, value:function createOscillator (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createOscillator", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createPanner", {configurable:true, enumerable:true, writable:true, value:function createPanner (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createPanner", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createPeriodicWave", {configurable:true, enumerable:true, writable:true, value:function createPeriodicWave (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createPeriodicWave", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createScriptProcessor", {configurable:true, enumerable:true, writable:true, value:function createScriptProcessor (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createScriptProcessor", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createStereoPanner", {configurable:true, enumerable:true, writable:true, value:function createStereoPanner (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createStereoPanner", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "createWaveShaper", {configurable:true, enumerable:true, writable:true, value:function createWaveShaper (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "createWaveShaper", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "decodeAudioData", {configurable:true, enumerable:true, writable:true, value:function decodeAudioData (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "decodeAudioData", arguments)}});
-bodavm.toolsFunc.defineProperty(BaseAudioContext.prototype, "audioWorklet", {configurable:true, enumerable:true, get:function audioWorklet (){return bodavm.toolsFunc.dispatch(this, BaseAudioContext.prototype, "BaseAudioContext", "audioWorklet_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/BatteryManager.js b/env_xbb_lastest_cheerio/env/BatteryManager.js
deleted file mode 100644
index 6356079b..00000000
--- a/env_xbb_lastest_cheerio/env/BatteryManager.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// BatteryManager对象
-BatteryManager = function BatteryManager(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(BatteryManager, "BatteryManager");
-BatteryManager.prototype.__proto__=EventTarget.prototype;
-BatteryManager.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(BatteryManager.prototype, "charging", {configurable:true, enumerable:true, get:function charging (){return bodavm.toolsFunc.dispatch(this, BatteryManager.prototype, "BatteryManager", "charging_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(BatteryManager.prototype, "chargingTime", {configurable:true, enumerable:true, get:function chargingTime (){return bodavm.toolsFunc.dispatch(this, BatteryManager.prototype, "BatteryManager", "chargingTime_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(BatteryManager.prototype, "dischargingTime", {configurable:true, enumerable:true, get:function dischargingTime (){return bodavm.toolsFunc.dispatch(this, BatteryManager.prototype, "BatteryManager", "dischargingTime_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(BatteryManager.prototype, "level", {configurable:true, enumerable:true, get:function level (){return bodavm.toolsFunc.dispatch(this, BatteryManager.prototype, "BatteryManager", "level_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(BatteryManager.prototype, "onchargingchange", {configurable:true, enumerable:true, get:function onchargingchange (){return bodavm.toolsFunc.dispatch(this, BatteryManager.prototype, "BatteryManager", "onchargingchange_get", arguments)}, set:function onchargingchange (){return bodavm.toolsFunc.dispatch(this, BatteryManager.prototype, "BatteryManager", "onchargingchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(BatteryManager.prototype, "onchargingtimechange", {configurable:true, enumerable:true, get:function onchargingtimechange (){return bodavm.toolsFunc.dispatch(this, BatteryManager.prototype, "BatteryManager", "onchargingtimechange_get", arguments)}, set:function onchargingtimechange (){return bodavm.toolsFunc.dispatch(this, BatteryManager.prototype, "BatteryManager", "onchargingtimechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(BatteryManager.prototype, "ondischargingtimechange", {configurable:true, enumerable:true, get:function ondischargingtimechange (){return bodavm.toolsFunc.dispatch(this, BatteryManager.prototype, "BatteryManager", "ondischargingtimechange_get", arguments)}, set:function ondischargingtimechange (){return bodavm.toolsFunc.dispatch(this, BatteryManager.prototype, "BatteryManager", "ondischargingtimechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(BatteryManager.prototype, "onlevelchange", {configurable:true, enumerable:true, get:function onlevelchange (){return bodavm.toolsFunc.dispatch(this, BatteryManager.prototype, "BatteryManager", "onlevelchange_get", arguments)}, set:function onlevelchange (){return bodavm.toolsFunc.dispatch(this, BatteryManager.prototype, "BatteryManager", "onlevelchange_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/BeforeInstallPromptEvent.js b/env_xbb_lastest_cheerio/env/BeforeInstallPromptEvent.js
deleted file mode 100644
index 9994c413..00000000
--- a/env_xbb_lastest_cheerio/env/BeforeInstallPromptEvent.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// BeforeInstallPromptEvent对象
-BeforeInstallPromptEvent = function BeforeInstallPromptEvent(){return bodavm.toolsFunc.throwError("TypeError", "Failed to construct 'BeforeInstallPromptEvent': 1 argument required, but only 0 present.")}
-bodavm.toolsFunc.safeProto(BeforeInstallPromptEvent, "BeforeInstallPromptEvent");
-BeforeInstallPromptEvent.prototype.__proto__=Event.prototype;
-BeforeInstallPromptEvent.__proto__=Event;
-bodavm.toolsFunc.defineProperty(BeforeInstallPromptEvent.prototype, "platforms", {configurable:true, enumerable:true, get:function platforms (){return bodavm.toolsFunc.dispatch(this, BeforeInstallPromptEvent.prototype, "BeforeInstallPromptEvent", "platforms_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(BeforeInstallPromptEvent.prototype, "userChoice", {configurable:true, enumerable:true, get:function userChoice (){return bodavm.toolsFunc.dispatch(this, BeforeInstallPromptEvent.prototype, "BeforeInstallPromptEvent", "userChoice_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(BeforeInstallPromptEvent.prototype, "prompt", {configurable:true, enumerable:true, writable:true, value:function prompt (){return bodavm.toolsFunc.dispatch(this, BeforeInstallPromptEvent.prototype, "BeforeInstallPromptEvent", "prompt", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/BluetoothUUID.js b/env_xbb_lastest_cheerio/env/BluetoothUUID.js
deleted file mode 100644
index 1b5aba10..00000000
--- a/env_xbb_lastest_cheerio/env/BluetoothUUID.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// BluetoothUUID对象
-BluetoothUUID = function BluetoothUUID(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(BluetoothUUID, "BluetoothUUID");
-bodavm.toolsFunc.defineProperty(BluetoothUUID, "canonicalUUID", {configurable:true, enumerable:true, writable:true, value:function canonicalUUID (){return bodavm.toolsFunc.dispatch(this, BluetoothUUID, "BluetoothUUID", "canonicalUUID", arguments)}});
-bodavm.toolsFunc.defineProperty(BluetoothUUID, "getCharacteristic", {configurable:true, enumerable:true, writable:true, value:function getCharacteristic (){return bodavm.toolsFunc.dispatch(this, BluetoothUUID, "BluetoothUUID", "getCharacteristic", arguments)}});
-bodavm.toolsFunc.defineProperty(BluetoothUUID, "getDescriptor", {configurable:true, enumerable:true, writable:true, value:function getDescriptor (){return bodavm.toolsFunc.dispatch(this, BluetoothUUID, "BluetoothUUID", "getDescriptor", arguments)}});
-bodavm.toolsFunc.defineProperty(BluetoothUUID, "getService", {configurable:true, enumerable:true, writable:true, value:function getService (){return bodavm.toolsFunc.dispatch(this, BluetoothUUID, "BluetoothUUID", "getService", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/CDATASection.js b/env_xbb_lastest_cheerio/env/CDATASection.js
deleted file mode 100644
index 95ae18a8..00000000
--- a/env_xbb_lastest_cheerio/env/CDATASection.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// CDATASection对象
-CDATASection = function CDATASection(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(CDATASection, "CDATASection");
-CDATASection.prototype.__proto__=Text.prototype;
-CDATASection.__proto__=Text;
diff --git a/env_xbb_lastest_cheerio/env/CSS.js b/env_xbb_lastest_cheerio/env/CSS.js
deleted file mode 100644
index 3ef5893f..00000000
--- a/env_xbb_lastest_cheerio/env/CSS.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// CSS对象
-var CSS = {}
-bodavm.toolsFunc.defineProperty(CSS, "Hz", {configurable:true, enumerable:true, writable:true, value:function Hz (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "Hz", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "Q", {configurable:true, enumerable:true, writable:true, value:function Q (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "Q", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "ch", {configurable:true, enumerable:true, writable:true, value:function ch (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "ch", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "cm", {configurable:true, enumerable:true, writable:true, value:function cm (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "cm", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "deg", {configurable:true, enumerable:true, writable:true, value:function deg (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "deg", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "dpcm", {configurable:true, enumerable:true, writable:true, value:function dpcm (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "dpcm", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "dpi", {configurable:true, enumerable:true, writable:true, value:function dpi (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "dpi", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "dppx", {configurable:true, enumerable:true, writable:true, value:function dppx (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "dppx", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "em", {configurable:true, enumerable:true, writable:true, value:function em (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "em", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "escape", {configurable:true, enumerable:true, writable:true, value:function escape (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "escape", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "ex", {configurable:true, enumerable:true, writable:true, value:function ex (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "ex", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "fr", {configurable:true, enumerable:true, writable:true, value:function fr (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "fr", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "grad", {configurable:true, enumerable:true, writable:true, value:function grad (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "grad", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "in", {configurable:true, enumerable:true, writable:true, value:function (){ return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "in", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "kHz", {configurable:true, enumerable:true, writable:true, value:function kHz (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "kHz", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "mm", {configurable:true, enumerable:true, writable:true, value:function mm (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "mm", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "ms", {configurable:true, enumerable:true, writable:true, value:function ms (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "ms", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "number", {configurable:true, enumerable:true, writable:true, value:function number (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "number", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "pc", {configurable:true, enumerable:true, writable:true, value:function pc (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "pc", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "percent", {configurable:true, enumerable:true, writable:true, value:function percent (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "percent", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "pt", {configurable:true, enumerable:true, writable:true, value:function pt (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "pt", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "px", {configurable:true, enumerable:true, writable:true, value:function px (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "px", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "rad", {configurable:true, enumerable:true, writable:true, value:function rad (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "rad", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "registerProperty", {configurable:true, enumerable:true, writable:true, value:function registerProperty (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "registerProperty", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "rem", {configurable:true, enumerable:true, writable:true, value:function rem (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "rem", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "s", {configurable:true, enumerable:true, writable:true, value:function s (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "s", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "supports", {configurable:true, enumerable:true, writable:true, value:function supports (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "supports", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "turn", {configurable:true, enumerable:true, writable:true, value:function turn (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "turn", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "vh", {configurable:true, enumerable:true, writable:true, value:function vh (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "vh", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "vmax", {configurable:true, enumerable:true, writable:true, value:function vmax (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "vmax", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "vmin", {configurable:true, enumerable:true, writable:true, value:function vmin (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "vmin", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "vw", {configurable:true, enumerable:true, writable:true, value:function vw (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "vw", arguments)}});
-bodavm.toolsFunc.defineProperty(CSS, "paintWorklet", {configurable:true, enumerable:true, get:function paintWorklet (){return bodavm.toolsFunc.dispatch(this, CSS, "CSS", "paintWorklet_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/CSSRuleList.js b/env_xbb_lastest_cheerio/env/CSSRuleList.js
deleted file mode 100644
index 3f91e151..00000000
--- a/env_xbb_lastest_cheerio/env/CSSRuleList.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// CSSRuleList对象
-CSSRuleList = function CSSRuleList(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(CSSRuleList, "CSSRuleList");
-bodavm.toolsFunc.defineProperty(CSSRuleList.prototype, "length", {configurable:true, enumerable:true, get:function length (){return bodavm.toolsFunc.dispatch(this, CSSRuleList.prototype, "CSSRuleList", "length_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(CSSRuleList.prototype, "item", {configurable:true, enumerable:true, writable:true, value:function item (){return bodavm.toolsFunc.dispatch(this, CSSRuleList.prototype, "CSSRuleList", "item", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/CSSStyleDeclaration.js b/env_xbb_lastest_cheerio/env/CSSStyleDeclaration.js
deleted file mode 100644
index 0984b2c3..00000000
--- a/env_xbb_lastest_cheerio/env/CSSStyleDeclaration.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// CSSStyleDeclaration对象
-CSSStyleDeclaration = function CSSStyleDeclaration(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(CSSStyleDeclaration, "CSSStyleDeclaration");
-bodavm.toolsFunc.defineProperty(CSSStyleDeclaration.prototype, "cssText", {configurable:true, enumerable:true, get:function cssText (){return bodavm.toolsFunc.dispatch(this, CSSStyleDeclaration.prototype, "CSSStyleDeclaration", "cssText_get", arguments)}, set:function cssText (){return bodavm.toolsFunc.dispatch(this, CSSStyleDeclaration.prototype, "CSSStyleDeclaration", "cssText_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CSSStyleDeclaration.prototype, "length", {configurable:true, enumerable:true, get:function length (){return bodavm.toolsFunc.dispatch(this, CSSStyleDeclaration.prototype, "CSSStyleDeclaration", "length_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(CSSStyleDeclaration.prototype, "parentRule", {configurable:true, enumerable:true, get:function parentRule (){return bodavm.toolsFunc.dispatch(this, CSSStyleDeclaration.prototype, "CSSStyleDeclaration", "parentRule_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(CSSStyleDeclaration.prototype, "cssFloat", {configurable:true, enumerable:true, get:function cssFloat (){return bodavm.toolsFunc.dispatch(this, CSSStyleDeclaration.prototype, "CSSStyleDeclaration", "cssFloat_get", arguments)}, set:function cssFloat (){return bodavm.toolsFunc.dispatch(this, CSSStyleDeclaration.prototype, "CSSStyleDeclaration", "cssFloat_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CSSStyleDeclaration.prototype, "getPropertyPriority", {configurable:true, enumerable:true, writable:true, value:function getPropertyPriority (){return bodavm.toolsFunc.dispatch(this, CSSStyleDeclaration.prototype, "CSSStyleDeclaration", "getPropertyPriority", arguments)}});
-bodavm.toolsFunc.defineProperty(CSSStyleDeclaration.prototype, "getPropertyValue", {configurable:true, enumerable:true, writable:true, value:function getPropertyValue (){return bodavm.toolsFunc.dispatch(this, CSSStyleDeclaration.prototype, "CSSStyleDeclaration", "getPropertyValue", arguments)}});
-bodavm.toolsFunc.defineProperty(CSSStyleDeclaration.prototype, "item", {configurable:true, enumerable:true, writable:true, value:function item (){return bodavm.toolsFunc.dispatch(this, CSSStyleDeclaration.prototype, "CSSStyleDeclaration", "item", arguments)}});
-bodavm.toolsFunc.defineProperty(CSSStyleDeclaration.prototype, "removeProperty", {configurable:true, enumerable:true, writable:true, value:function removeProperty (){return bodavm.toolsFunc.dispatch(this, CSSStyleDeclaration.prototype, "CSSStyleDeclaration", "removeProperty", arguments)}});
-bodavm.toolsFunc.defineProperty(CSSStyleDeclaration.prototype, "setProperty", {configurable:true, enumerable:true, writable:true, value:function setProperty (){return bodavm.toolsFunc.dispatch(this, CSSStyleDeclaration.prototype, "CSSStyleDeclaration", "setProperty", arguments)}});
-
-
-
-
-
-
diff --git a/env_xbb_lastest_cheerio/env/CacheStorage.js b/env_xbb_lastest_cheerio/env/CacheStorage.js
deleted file mode 100644
index 724d59aa..00000000
--- a/env_xbb_lastest_cheerio/env/CacheStorage.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// CacheStorage对象
-CacheStorage = function CacheStorage(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(CacheStorage, "CacheStorage");
-bodavm.toolsFunc.defineProperty(CacheStorage.prototype, "delete", {configurable:true, enumerable:true, writable:true, value:function (){return bodavm.toolsFunc.dispatch(this, CacheStorage.prototype, "CacheStorage", "delete", arguments)}});
-bodavm.toolsFunc.defineProperty(CacheStorage.prototype, "has", {configurable:true, enumerable:true, writable:true, value:function has (){return bodavm.toolsFunc.dispatch(this, CacheStorage.prototype, "CacheStorage", "has", arguments)}});
-bodavm.toolsFunc.defineProperty(CacheStorage.prototype, "keys", {configurable:true, enumerable:true, writable:true, value:function keys (){return bodavm.toolsFunc.dispatch(this, CacheStorage.prototype, "CacheStorage", "keys", arguments)}});
-bodavm.toolsFunc.defineProperty(CacheStorage.prototype, "match", {configurable:true, enumerable:true, writable:true, value:function match (){return bodavm.toolsFunc.dispatch(this, CacheStorage.prototype, "CacheStorage", "match", arguments)}});
-bodavm.toolsFunc.defineProperty(CacheStorage.prototype, "open", {configurable:true, enumerable:true, writable:true, value:function open (){return bodavm.toolsFunc.dispatch(this, CacheStorage.prototype, "CacheStorage", "open", arguments)}});
-// caches对象
-var caches = {}
-caches.__proto__=CacheStorage.prototype;
diff --git a/env_xbb_lastest_cheerio/env/CanvasRenderingContext2D.js b/env_xbb_lastest_cheerio/env/CanvasRenderingContext2D.js
deleted file mode 100644
index 66c394a3..00000000
--- a/env_xbb_lastest_cheerio/env/CanvasRenderingContext2D.js
+++ /dev/null
@@ -1,75 +0,0 @@
-// CanvasRenderingContext2D对象
-CanvasRenderingContext2D = function CanvasRenderingContext2D(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(CanvasRenderingContext2D, "CanvasRenderingContext2D");
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "canvas", {configurable:true, enumerable:true, get:function canvas (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "canvas_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "globalAlpha", {configurable:true, enumerable:true, get:function globalAlpha (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "globalAlpha_get", arguments)}, set:function globalAlpha (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "globalAlpha_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "globalCompositeOperation", {configurable:true, enumerable:true, get:function globalCompositeOperation (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "globalCompositeOperation_get", arguments)}, set:function globalCompositeOperation (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "globalCompositeOperation_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "filter", {configurable:true, enumerable:true, get:function filter (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "filter_get", arguments)}, set:function filter (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "filter_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "imageSmoothingEnabled", {configurable:true, enumerable:true, get:function imageSmoothingEnabled (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "imageSmoothingEnabled_get", arguments)}, set:function imageSmoothingEnabled (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "imageSmoothingEnabled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "imageSmoothingQuality", {configurable:true, enumerable:true, get:function imageSmoothingQuality (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "imageSmoothingQuality_get", arguments)}, set:function imageSmoothingQuality (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "imageSmoothingQuality_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "strokeStyle", {configurable:true, enumerable:true, get:function strokeStyle (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "strokeStyle_get", arguments)}, set:function strokeStyle (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "strokeStyle_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "fillStyle", {configurable:true, enumerable:true, get:function fillStyle (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "fillStyle_get", arguments)}, set:function fillStyle (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "fillStyle_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "shadowOffsetX", {configurable:true, enumerable:true, get:function shadowOffsetX (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "shadowOffsetX_get", arguments)}, set:function shadowOffsetX (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "shadowOffsetX_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "shadowOffsetY", {configurable:true, enumerable:true, get:function shadowOffsetY (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "shadowOffsetY_get", arguments)}, set:function shadowOffsetY (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "shadowOffsetY_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "shadowBlur", {configurable:true, enumerable:true, get:function shadowBlur (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "shadowBlur_get", arguments)}, set:function shadowBlur (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "shadowBlur_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "shadowColor", {configurable:true, enumerable:true, get:function shadowColor (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "shadowColor_get", arguments)}, set:function shadowColor (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "shadowColor_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "lineWidth", {configurable:true, enumerable:true, get:function lineWidth (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "lineWidth_get", arguments)}, set:function lineWidth (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "lineWidth_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "lineCap", {configurable:true, enumerable:true, get:function lineCap (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "lineCap_get", arguments)}, set:function lineCap (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "lineCap_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "lineJoin", {configurable:true, enumerable:true, get:function lineJoin (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "lineJoin_get", arguments)}, set:function lineJoin (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "lineJoin_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "miterLimit", {configurable:true, enumerable:true, get:function miterLimit (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "miterLimit_get", arguments)}, set:function miterLimit (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "miterLimit_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "lineDashOffset", {configurable:true, enumerable:true, get:function lineDashOffset (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "lineDashOffset_get", arguments)}, set:function lineDashOffset (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "lineDashOffset_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "font", {configurable:true, enumerable:true, get:function font (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "font_get", arguments)}, set:function font (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "font_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "textAlign", {configurable:true, enumerable:true, get:function textAlign (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "textAlign_get", arguments)}, set:function textAlign (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "textAlign_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "textBaseline", {configurable:true, enumerable:true, get:function textBaseline (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "textBaseline_get", arguments)}, set:function textBaseline (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "textBaseline_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "direction", {configurable:true, enumerable:true, get:function direction (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "direction_get", arguments)}, set:function direction (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "direction_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "fontKerning", {configurable:true, enumerable:true, get:function fontKerning (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "fontKerning_get", arguments)}, set:function fontKerning (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "fontKerning_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "fontStretch", {configurable:true, enumerable:true, get:function fontStretch (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "fontStretch_get", arguments)}, set:function fontStretch (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "fontStretch_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "fontVariantCaps", {configurable:true, enumerable:true, get:function fontVariantCaps (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "fontVariantCaps_get", arguments)}, set:function fontVariantCaps (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "fontVariantCaps_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "letterSpacing", {configurable:true, enumerable:true, get:function letterSpacing (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "letterSpacing_get", arguments)}, set:function letterSpacing (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "letterSpacing_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "textRendering", {configurable:true, enumerable:true, get:function textRendering (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "textRendering_get", arguments)}, set:function textRendering (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "textRendering_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "wordSpacing", {configurable:true, enumerable:true, get:function wordSpacing (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "wordSpacing_get", arguments)}, set:function wordSpacing (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "wordSpacing_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "clip", {configurable:true, enumerable:true, writable:true, value:function clip (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "clip", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "createConicGradient", {configurable:true, enumerable:true, writable:true, value:function createConicGradient (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "createConicGradient", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "createImageData", {configurable:true, enumerable:true, writable:true, value:function createImageData (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "createImageData", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "createLinearGradient", {configurable:true, enumerable:true, writable:true, value:function createLinearGradient (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "createLinearGradient", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "createPattern", {configurable:true, enumerable:true, writable:true, value:function createPattern (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "createPattern", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "createRadialGradient", {configurable:true, enumerable:true, writable:true, value:function createRadialGradient (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "createRadialGradient", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "drawFocusIfNeeded", {configurable:true, enumerable:true, writable:true, value:function drawFocusIfNeeded (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "drawFocusIfNeeded", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "drawImage", {configurable:true, enumerable:true, writable:true, value:function drawImage (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "drawImage", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "fill", {configurable:true, enumerable:true, writable:true, value:function fill (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "fill", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "fillText", {configurable:true, enumerable:true, writable:true, value:function fillText (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "fillText", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "getContextAttributes", {configurable:true, enumerable:true, writable:true, value:function getContextAttributes (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "getContextAttributes", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "getImageData", {configurable:true, enumerable:true, writable:true, value:function getImageData (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "getImageData", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "getLineDash", {configurable:true, enumerable:true, writable:true, value:function getLineDash (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "getLineDash", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "getTransform", {configurable:true, enumerable:true, writable:true, value:function getTransform (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "getTransform", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "isContextLost", {configurable:true, enumerable:true, writable:true, value:function isContextLost (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "isContextLost", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "isPointInPath", {configurable:true, enumerable:true, writable:true, value:function isPointInPath (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "isPointInPath", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "isPointInStroke", {configurable:true, enumerable:true, writable:true, value:function isPointInStroke (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "isPointInStroke", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "measureText", {configurable:true, enumerable:true, writable:true, value:function measureText (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "measureText", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "putImageData", {configurable:true, enumerable:true, writable:true, value:function putImageData (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "putImageData", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "reset", {configurable:true, enumerable:true, writable:true, value:function reset (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "reset", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "roundRect", {configurable:true, enumerable:true, writable:true, value:function roundRect (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "roundRect", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "save", {configurable:true, enumerable:true, writable:true, value:function save (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "save", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "scale", {configurable:true, enumerable:true, writable:true, value:function scale (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "scale", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "setLineDash", {configurable:true, enumerable:true, writable:true, value:function setLineDash (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "setLineDash", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "setTransform", {configurable:true, enumerable:true, writable:true, value:function setTransform (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "setTransform", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "stroke", {configurable:true, enumerable:true, writable:true, value:function stroke (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "stroke", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "strokeText", {configurable:true, enumerable:true, writable:true, value:function strokeText (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "strokeText", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "transform", {configurable:true, enumerable:true, writable:true, value:function transform (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "transform", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "translate", {configurable:true, enumerable:true, writable:true, value:function translate (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "translate", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "arc", {configurable:true, enumerable:true, writable:true, value:function arc (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "arc", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "arcTo", {configurable:true, enumerable:true, writable:true, value:function arcTo (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "arcTo", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "beginPath", {configurable:true, enumerable:true, writable:true, value:function beginPath (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "beginPath", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "bezierCurveTo", {configurable:true, enumerable:true, writable:true, value:function bezierCurveTo (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "bezierCurveTo", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "clearRect", {configurable:true, enumerable:true, writable:true, value:function clearRect (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "clearRect", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "closePath", {configurable:true, enumerable:true, writable:true, value:function closePath (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "closePath", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "ellipse", {configurable:true, enumerable:true, writable:true, value:function ellipse (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "ellipse", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "fillRect", {configurable:true, enumerable:true, writable:true, value:function fillRect (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "fillRect", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "lineTo", {configurable:true, enumerable:true, writable:true, value:function lineTo (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "lineTo", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "moveTo", {configurable:true, enumerable:true, writable:true, value:function moveTo (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "moveTo", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "quadraticCurveTo", {configurable:true, enumerable:true, writable:true, value:function quadraticCurveTo (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "quadraticCurveTo", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "rect", {configurable:true, enumerable:true, writable:true, value:function rect (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "rect", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "resetTransform", {configurable:true, enumerable:true, writable:true, value:function resetTransform (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "resetTransform", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "restore", {configurable:true, enumerable:true, writable:true, value:function restore (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "restore", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "rotate", {configurable:true, enumerable:true, writable:true, value:function rotate (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "rotate", arguments)}});
-bodavm.toolsFunc.defineProperty(CanvasRenderingContext2D.prototype, "strokeRect", {configurable:true, enumerable:true, writable:true, value:function strokeRect (){return bodavm.toolsFunc.dispatch(this, CanvasRenderingContext2D.prototype, "CanvasRenderingContext2D", "strokeRect", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/CharacterData.js b/env_xbb_lastest_cheerio/env/CharacterData.js
deleted file mode 100644
index c0f28249..00000000
--- a/env_xbb_lastest_cheerio/env/CharacterData.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// CharacterData对象
-CharacterData = function CharacterData(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(CharacterData, "CharacterData");
-CharacterData.prototype.__proto__=Node.prototype;
-CharacterData.__proto__=Node;
-bodavm.toolsFunc.defineProperty(CharacterData.prototype, "data", {configurable:true, enumerable:true, get:function data (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "data_get", arguments)}, set:function data (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "data_set", arguments)}});
-bodavm.toolsFunc.defineProperty(CharacterData.prototype, "length", {configurable:true, enumerable:true, get:function length (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "length_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(CharacterData.prototype, "previousElementSibling", {configurable:true, enumerable:true, get:function previousElementSibling (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "previousElementSibling_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(CharacterData.prototype, "nextElementSibling", {configurable:true, enumerable:true, get:function nextElementSibling (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "nextElementSibling_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(CharacterData.prototype, "after", {configurable:true, enumerable:true, writable:true, value:function after (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "after", arguments)}});
-bodavm.toolsFunc.defineProperty(CharacterData.prototype, "appendData", {configurable:true, enumerable:true, writable:true, value:function appendData (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "appendData", arguments)}});
-bodavm.toolsFunc.defineProperty(CharacterData.prototype, "before", {configurable:true, enumerable:true, writable:true, value:function before (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "before", arguments)}});
-bodavm.toolsFunc.defineProperty(CharacterData.prototype, "deleteData", {configurable:true, enumerable:true, writable:true, value:function deleteData (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "deleteData", arguments)}});
-bodavm.toolsFunc.defineProperty(CharacterData.prototype, "insertData", {configurable:true, enumerable:true, writable:true, value:function insertData (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "insertData", arguments)}});
-bodavm.toolsFunc.defineProperty(CharacterData.prototype, "remove", {configurable:true, enumerable:true, writable:true, value:function remove (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "remove", arguments)}});
-bodavm.toolsFunc.defineProperty(CharacterData.prototype, "replaceData", {configurable:true, enumerable:true, writable:true, value:function replaceData (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "replaceData", arguments)}});
-bodavm.toolsFunc.defineProperty(CharacterData.prototype, "replaceWith", {configurable:true, enumerable:true, writable:true, value:function replaceWith (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "replaceWith", arguments)}});
-bodavm.toolsFunc.defineProperty(CharacterData.prototype, "substringData", {configurable:true, enumerable:true, writable:true, value:function substringData (){return bodavm.toolsFunc.dispatch(this, CharacterData.prototype, "CharacterData", "substringData", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/CloseEvent.js b/env_xbb_lastest_cheerio/env/CloseEvent.js
deleted file mode 100644
index ee349d98..00000000
--- a/env_xbb_lastest_cheerio/env/CloseEvent.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// CloseEvent对象
-CloseEvent = function CloseEvent(){return bodavm.toolsFunc.throwError("TypeError", "Failed to construct 'CloseEvent': 1 argument required, but only 0 present.")}
-bodavm.toolsFunc.safeProto(CloseEvent, "CloseEvent");
-CloseEvent.prototype.__proto__=Event.prototype;
-CloseEvent.__proto__=Event;
-bodavm.toolsFunc.defineProperty(CloseEvent.prototype, "wasClean", {configurable:true, enumerable:true, get:function wasClean (){return bodavm.toolsFunc.dispatch(this, CloseEvent.prototype, "CloseEvent", "wasClean_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(CloseEvent.prototype, "code", {configurable:true, enumerable:true, get:function code (){return bodavm.toolsFunc.dispatch(this, CloseEvent.prototype, "CloseEvent", "code_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(CloseEvent.prototype, "reason", {configurable:true, enumerable:true, get:function reason (){return bodavm.toolsFunc.dispatch(this, CloseEvent.prototype, "CloseEvent", "reason_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/Comment.js b/env_xbb_lastest_cheerio/env/Comment.js
deleted file mode 100644
index 277a4409..00000000
--- a/env_xbb_lastest_cheerio/env/Comment.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// Comment对象
-Comment = function Comment(){}
-bodavm.toolsFunc.safeProto(Comment, "Comment");
-Comment.prototype.__proto__=CharacterData.prototype;
-Comment.__proto__=CharacterData;
diff --git a/env_xbb_lastest_cheerio/env/CookieStore.js b/env_xbb_lastest_cheerio/env/CookieStore.js
deleted file mode 100644
index 03ab7843..00000000
--- a/env_xbb_lastest_cheerio/env/CookieStore.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// CookieStore对象
-CookieStore = function CookieStore(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(CookieStore, "CookieStore");
-CookieStore.prototype.__proto__=EventTarget.prototype;
-CookieStore.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(CookieStore.prototype, "delete", {configurable:true, enumerable:true, writable:true, value:function (){return bodavm.toolsFunc.dispatch(this, CookieStore.prototype, "CookieStore", "delete", arguments)}});
-bodavm.toolsFunc.defineProperty(CookieStore.prototype, "get", {configurable:true, enumerable:true, writable:true, value:function get (){return bodavm.toolsFunc.dispatch(this, CookieStore.prototype, "CookieStore", "get", arguments)}});
-bodavm.toolsFunc.defineProperty(CookieStore.prototype, "getAll", {configurable:true, enumerable:true, writable:true, value:function getAll (){return bodavm.toolsFunc.dispatch(this, CookieStore.prototype, "CookieStore", "getAll", arguments)}});
-bodavm.toolsFunc.defineProperty(CookieStore.prototype, "set", {configurable:true, enumerable:true, writable:true, value:function set (){return bodavm.toolsFunc.dispatch(this, CookieStore.prototype, "CookieStore", "set", arguments)}});
-bodavm.toolsFunc.defineProperty(CookieStore.prototype, "onchange", {configurable:true, enumerable:true, get:function onchange (){return bodavm.toolsFunc.dispatch(this, CookieStore.prototype, "CookieStore", "onchange_get", arguments)}, set:function onchange (){return bodavm.toolsFunc.dispatch(this, CookieStore.prototype, "CookieStore", "onchange_set", arguments)}});
-// cookieStore对象
-var cookieStore = {}
-cookieStore.__proto__=CookieStore.prototype;
diff --git a/env_xbb_lastest_cheerio/env/Crypto.js b/env_xbb_lastest_cheerio/env/Crypto.js
deleted file mode 100644
index dcc3eb3e..00000000
--- a/env_xbb_lastest_cheerio/env/Crypto.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// Crypto对象
-Crypto = function Crypto(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(Crypto, "Crypto");
-bodavm.toolsFunc.defineProperty(Crypto.prototype, "getRandomValues", {configurable:true, enumerable:true, writable:true, value:function getRandomValues (){return bodavm.toolsFunc.dispatch(this, Crypto.prototype, "Crypto", "getRandomValues", arguments)}});
-bodavm.toolsFunc.defineProperty(Crypto.prototype, "subtle", {configurable:true, enumerable:true, get:function subtle (){return bodavm.toolsFunc.dispatch(this, Crypto.prototype, "Crypto", "subtle_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Crypto.prototype, "randomUUID", {configurable:true, enumerable:true, writable:true, value:function randomUUID (){return bodavm.toolsFunc.dispatch(this, Crypto.prototype, "Crypto", "randomUUID", arguments)}});
-
-var crypto={}
-crypto.__proto__ = Crypto.prototype
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/env/CustomElementRegistry.js b/env_xbb_lastest_cheerio/env/CustomElementRegistry.js
deleted file mode 100644
index 066198de..00000000
--- a/env_xbb_lastest_cheerio/env/CustomElementRegistry.js
+++ /dev/null
@@ -1,10 +0,0 @@
-//CustomElementRegistry对象
-CustomElementRegistry=function CustomElementRegistry(){return bodavm.toolsFunc.throwError("TypeError","Illegal constructor")}
-bodavm.toolsFunc.safeProto(CustomElementRegistry,"CustomElementRegistry");
-bodavm.toolsFunc.defineProperty(CustomElementRegistry.prototype,"define",{configurable:true, enumerable:true, writable:true, value:function define() {return bodavm.toolsFunc.dispatch(this,CustomElementRegistry.prototype,"CustomElementRegistry","define",arguments)}});
-bodavm.toolsFunc.defineProperty(CustomElementRegistry.prototype,"get",{configurable:true, enumerable:true, writable:true, value:function get() {return bodavm.toolsFunc.dispatch(this,CustomElementRegistry.prototype,"CustomElementRegistry","get",arguments)}});
-bodavm.toolsFunc.defineProperty(CustomElementRegistry.prototype,"upgrade",{configurable:true, enumerable:true, writable:true, value:function upgrade() {return bodavm.toolsFunc.dispatch(this,CustomElementRegistry.prototype,"CustomElementRegistry","upgrade",arguments)}});
-bodavm.toolsFunc.defineProperty(CustomElementRegistry.prototype,"whenDefined",{configurable:true, enumerable:true, writable:true, value:function whenDefined() {return bodavm.toolsFunc.dispatch(this,CustomElementRegistry.prototype,"CustomElementRegistry","whenDefined",arguments)}});
-// customElements对象
-var customElements = {}
-customElements.__proto__=CustomElementRegistry.prototype;
diff --git a/env_xbb_lastest_cheerio/env/DOMParser.js b/env_xbb_lastest_cheerio/env/DOMParser.js
deleted file mode 100644
index ca84a163..00000000
--- a/env_xbb_lastest_cheerio/env/DOMParser.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// DOMParser对象
-DOMParser = function DOMParser(){}
-bodavm.toolsFunc.safeProto(DOMParser, "DOMParser");
-bodavm.toolsFunc.defineProperty(DOMParser.prototype, "parseFromString", {configurable:true, enumerable:true, writable:true, value:function parseFromString (){return bodavm.toolsFunc.dispatch(this, DOMParser.prototype, "DOMParser", "parseFromString", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/DOMStringList.js b/env_xbb_lastest_cheerio/env/DOMStringList.js
deleted file mode 100644
index 64f9c03c..00000000
--- a/env_xbb_lastest_cheerio/env/DOMStringList.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// DOMStringList对象
-DOMStringList = function DOMStringList(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(DOMStringList, "DOMStringList");
-bodavm.toolsFunc.defineProperty(DOMStringList.prototype, "length", {configurable:true, enumerable:true, get:function length (){return bodavm.toolsFunc.dispatch(this, DOMStringList.prototype, "DOMStringList", "length_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(DOMStringList.prototype, "contains", {configurable:true, enumerable:true, writable:true, value:function contains (){return bodavm.toolsFunc.dispatch(this, DOMStringList.prototype, "DOMStringList", "contains", arguments)}});
-bodavm.toolsFunc.defineProperty(DOMStringList.prototype, "item", {configurable:true, enumerable:true, writable:true, value:function item (){return bodavm.toolsFunc.dispatch(this, DOMStringList.prototype, "DOMStringList", "item", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/Database.js b/env_xbb_lastest_cheerio/env/Database.js
deleted file mode 100644
index 64bfe7ab..00000000
--- a/env_xbb_lastest_cheerio/env/Database.js
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-// BarProp对象
-Database = function Database() { return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor") }
-bodavm.toolsFunc.safeProto(Database, "Database");
-bodavm.toolsFunc.defineProperty(Database.prototype, "version", { configurable: true, enumerable: true, get: function version() { return bodavm.toolsFunc.dispatch(this, Database.prototype, "Database", "version", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(Database.prototype, "readTransaction", { configurable: true, enumerable: true, writable: true, value: function readTransaction() { return bodavm.toolsFunc.dispatch(this, Database.prototype, "Database", "readTransaction", arguments) } });
-bodavm.toolsFunc.defineProperty(Database.prototype, "transaction", { configurable: true, enumerable: true, writable: true, value: function transaction() { return bodavm.toolsFunc.dispatch(this, Database.prototype, "Database", "transaction", arguments) } });
-bodavm.toolsFunc.defineProperty(Database.prototype, "changeVersion", { configurable: true, enumerable: true, writable: true, value: function changeVersion() { return bodavm.toolsFunc.dispatch(this, Database.prototype, "Database", "changeVersion", arguments) } });
-
-var database = {}
-database.__proto__ = Database.prototype
-delete Database
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/env/DeprecatedStorageInfo.js b/env_xbb_lastest_cheerio/env/DeprecatedStorageInfo.js
deleted file mode 100644
index d66bfc21..00000000
--- a/env_xbb_lastest_cheerio/env/DeprecatedStorageInfo.js
+++ /dev/null
@@ -1,15 +0,0 @@
-
-DeprecatedStorageInfo = function DeprecatedStorageInfo() { }
-bodavm.toolsFunc.safeProto(DeprecatedStorageInfo, "DeprecatedStorageInfo");
-
-bodavm.toolsFunc.defineProperty(DeprecatedStorageInfo, "TEMPORARY", { configurable: false, enumerable: true, writable: false, value: 0 });
-bodavm.toolsFunc.defineProperty(DeprecatedStorageInfo, "PERSISTENT", { configurable: false, enumerable: true, writable: false, value: 1 });
-bodavm.toolsFunc.defineProperty(DeprecatedStorageInfo.prototype, "TEMPORARY", { configurable: false, enumerable: true, writable: false, value: 0 });
-bodavm.toolsFunc.defineProperty(DeprecatedStorageInfo.prototype, "PERSISTENT", { configurable: false, enumerable: true, writable: false, value: 1 });
-bodavm.toolsFunc.defineProperty(DeprecatedStorageInfo.prototype, "queryUsageAndQuota", { writable: true, enumerable: true, configurable: true, value: function queryUsageAndQuota() { return bodavm.toolsFunc.dispatch(this, DeprecatedStorageInfo.prototype, "DeprecatedStorageInfo", "queryUsageAndQuota", arguments) } });
-bodavm.toolsFunc.defineProperty(DeprecatedStorageInfo.prototype, "requestQuota", { writable: true, enumerable: true, configurable: true, value: function requestQuota() { return bodavm.toolsFunc.dispatch(this, DeprecatedStorageInfo.prototype, "DeprecatedStorageInfo", "requestQuota", arguments) } });
-
-var webkitStorageInfo = {}
-webkitStorageInfo.__proto__ = DeprecatedStorageInfo.prototype
-
-delete DeprecatedStorageInfo
diff --git a/env_xbb_lastest_cheerio/env/DeviceOrientationEvent.js b/env_xbb_lastest_cheerio/env/DeviceOrientationEvent.js
deleted file mode 100644
index 836f60f1..00000000
--- a/env_xbb_lastest_cheerio/env/DeviceOrientationEvent.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// DeviceOrientationEvent对象
-DeviceOrientationEvent = function DeviceOrientationEvent(){return bodavm.toolsFunc.throwError("TypeError", "Failed to construct 'DeviceOrientationEvent': 1 argument required, but only 0 present.")}
-bodavm.toolsFunc.safeProto(DeviceOrientationEvent, "DeviceOrientationEvent");
-DeviceOrientationEvent.prototype.__proto__=Event.prototype;
-DeviceOrientationEvent.__proto__=Event;
-bodavm.toolsFunc.defineProperty(DeviceOrientationEvent.prototype, "alpha", {configurable:true, enumerable:true, get:function alpha (){return bodavm.toolsFunc.dispatch(this, DeviceOrientationEvent.prototype, "DeviceOrientationEvent", "alpha_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(DeviceOrientationEvent.prototype, "beta", {configurable:true, enumerable:true, get:function beta (){return bodavm.toolsFunc.dispatch(this, DeviceOrientationEvent.prototype, "DeviceOrientationEvent", "beta_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(DeviceOrientationEvent.prototype, "gamma", {configurable:true, enumerable:true, get:function gamma (){return bodavm.toolsFunc.dispatch(this, DeviceOrientationEvent.prototype, "DeviceOrientationEvent", "gamma_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(DeviceOrientationEvent.prototype, "absolute", {configurable:true, enumerable:true, get:function absolute (){return bodavm.toolsFunc.dispatch(this, DeviceOrientationEvent.prototype, "DeviceOrientationEvent", "absolute_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/Document.js b/env_xbb_lastest_cheerio/env/Document.js
deleted file mode 100644
index 56ae349a..00000000
--- a/env_xbb_lastest_cheerio/env/Document.js
+++ /dev/null
@@ -1,232 +0,0 @@
-// Document对象
-Document = function Document(){}
-bodavm.toolsFunc.safeProto(Document, "Document");
-Document.prototype.__proto__=Node.prototype;
-Document.__proto__=Node;
-bodavm.toolsFunc.defineProperty(Document.prototype, "implementation", {configurable:true, enumerable:true, get:function implementation (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "implementation_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "URL", {configurable:true, enumerable:true, get:function URL (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "URL_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "documentURI", {configurable:true, enumerable:true, get:function documentURI (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "documentURI_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "compatMode", {configurable:true, enumerable:true, get:function compatMode (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "compatMode_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "characterSet", {configurable:true, enumerable:true, get:function characterSet (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "characterSet_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "charset", {configurable:true, enumerable:true, get:function charset (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "charset_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "inputEncoding", {configurable:true, enumerable:true, get:function inputEncoding (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "inputEncoding_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "contentType", {configurable:true, enumerable:true, get:function contentType (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "contentType_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "doctype", {configurable:true, enumerable:true, get:function doctype (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "doctype_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "documentElement", {configurable:true, enumerable:true, get:function documentElement (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "documentElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "xmlEncoding", {configurable:true, enumerable:true, get:function xmlEncoding (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "xmlEncoding_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "xmlVersion", {configurable:true, enumerable:true, get:function xmlVersion (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "xmlVersion_get", arguments)}, set:function xmlVersion (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "xmlVersion_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "xmlStandalone", {configurable:true, enumerable:true, get:function xmlStandalone (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "xmlStandalone_get", arguments)}, set:function xmlStandalone (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "xmlStandalone_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "domain", {configurable:true, enumerable:true, get:function domain (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "domain_get", arguments)}, set:function domain (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "domain_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "referrer", {configurable:true, enumerable:true, get:function referrer (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "referrer_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "cookie", {configurable:true, enumerable:true, get:function cookie (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "cookie_get", arguments)}, set:function cookie (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "cookie_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "lastModified", {configurable:true, enumerable:true, get:function lastModified (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "lastModified_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "readyState", {configurable:true, enumerable:true, get:function readyState (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "readyState_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "title", {configurable:true, enumerable:true, get:function title (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "title_get", arguments)}, set:function title (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "title_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "dir", {configurable:true, enumerable:true, get:function dir (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "dir_get", arguments)}, set:function dir (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "dir_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "body", {configurable:true, enumerable:true, get:function body (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "body_get", arguments)}, set:function body (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "body_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "head", {configurable:true, enumerable:true, get:function head (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "head_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "images", {configurable:true, enumerable:true, get:function images (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "images_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "embeds", {configurable:true, enumerable:true, get:function embeds (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "embeds_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "plugins", {configurable:true, enumerable:true, get:function plugins (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "plugins_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "links", {configurable:true, enumerable:true, get:function links (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "links_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "forms", {configurable:true, enumerable:true, get:function forms (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "forms_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "scripts", {configurable:true, enumerable:true, get:function scripts (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "scripts_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "currentScript", {configurable:true, enumerable:true, get:function currentScript (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "currentScript_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "defaultView", {configurable:true, enumerable:true, get:function defaultView (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "defaultView_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "designMode", {configurable:true, enumerable:true, get:function designMode (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "designMode_get", arguments)}, set:function designMode (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "designMode_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onreadystatechange", {configurable:true, enumerable:true, get:function onreadystatechange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onreadystatechange_get", arguments)}, set:function onreadystatechange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onreadystatechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "anchors", {configurable:true, enumerable:true, get:function anchors (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "anchors_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "applets", {configurable:true, enumerable:true, get:function applets (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "applets_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "fgColor", {configurable:true, enumerable:true, get:function fgColor (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "fgColor_get", arguments)}, set:function fgColor (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "fgColor_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "linkColor", {configurable:true, enumerable:true, get:function linkColor (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "linkColor_get", arguments)}, set:function linkColor (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "linkColor_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "vlinkColor", {configurable:true, enumerable:true, get:function vlinkColor (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "vlinkColor_get", arguments)}, set:function vlinkColor (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "vlinkColor_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "alinkColor", {configurable:true, enumerable:true, get:function alinkColor (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "alinkColor_get", arguments)}, set:function alinkColor (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "alinkColor_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "bgColor", {configurable:true, enumerable:true, get:function bgColor (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "bgColor_get", arguments)}, set:function bgColor (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "bgColor_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "all", {configurable:true, enumerable:true, get:function all (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "all_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "scrollingElement", {configurable:true, enumerable:true, get:function scrollingElement (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "scrollingElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onpointerlockchange", {configurable:true, enumerable:true, get:function onpointerlockchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerlockchange_get", arguments)}, set:function onpointerlockchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerlockchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onpointerlockerror", {configurable:true, enumerable:true, get:function onpointerlockerror (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerlockerror_get", arguments)}, set:function onpointerlockerror (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerlockerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "hidden", {configurable:true, enumerable:true, get:function hidden (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "hidden_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "visibilityState", {configurable:true, enumerable:true, get:function visibilityState (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "visibilityState_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "wasDiscarded", {configurable:true, enumerable:true, get:function wasDiscarded (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "wasDiscarded_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "featurePolicy", {configurable:true, enumerable:true, get:function featurePolicy (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "featurePolicy_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "webkitVisibilityState", {configurable:true, enumerable:true, get:function webkitVisibilityState (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "webkitVisibilityState_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "webkitHidden", {configurable:true, enumerable:true, get:function webkitHidden (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "webkitHidden_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onbeforecopy", {configurable:true, enumerable:true, get:function onbeforecopy (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onbeforecopy_get", arguments)}, set:function onbeforecopy (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onbeforecopy_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onbeforecut", {configurable:true, enumerable:true, get:function onbeforecut (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onbeforecut_get", arguments)}, set:function onbeforecut (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onbeforecut_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onbeforepaste", {configurable:true, enumerable:true, get:function onbeforepaste (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onbeforepaste_get", arguments)}, set:function onbeforepaste (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onbeforepaste_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onfreeze", {configurable:true, enumerable:true, get:function onfreeze (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onfreeze_get", arguments)}, set:function onfreeze (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onfreeze_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onresume", {configurable:true, enumerable:true, get:function onresume (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onresume_get", arguments)}, set:function onresume (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onresume_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onsearch", {configurable:true, enumerable:true, get:function onsearch (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onsearch_get", arguments)}, set:function onsearch (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onsearch_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onvisibilitychange", {configurable:true, enumerable:true, get:function onvisibilitychange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onvisibilitychange_get", arguments)}, set:function onvisibilitychange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onvisibilitychange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "fullscreenEnabled", {configurable:true, enumerable:true, get:function fullscreenEnabled (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "fullscreenEnabled_get", arguments)}, set:function fullscreenEnabled (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "fullscreenEnabled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "fullscreen", {configurable:true, enumerable:true, get:function fullscreen (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "fullscreen_get", arguments)}, set:function fullscreen (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "fullscreen_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onfullscreenchange", {configurable:true, enumerable:true, get:function onfullscreenchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onfullscreenchange_get", arguments)}, set:function onfullscreenchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onfullscreenchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onfullscreenerror", {configurable:true, enumerable:true, get:function onfullscreenerror (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onfullscreenerror_get", arguments)}, set:function onfullscreenerror (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onfullscreenerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "webkitIsFullScreen", {configurable:true, enumerable:true, get:function webkitIsFullScreen (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "webkitIsFullScreen_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "webkitCurrentFullScreenElement", {configurable:true, enumerable:true, get:function webkitCurrentFullScreenElement (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "webkitCurrentFullScreenElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "webkitFullscreenEnabled", {configurable:true, enumerable:true, get:function webkitFullscreenEnabled (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "webkitFullscreenEnabled_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "webkitFullscreenElement", {configurable:true, enumerable:true, get:function webkitFullscreenElement (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "webkitFullscreenElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onwebkitfullscreenchange", {configurable:true, enumerable:true, get:function onwebkitfullscreenchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwebkitfullscreenchange_get", arguments)}, set:function onwebkitfullscreenchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwebkitfullscreenchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onwebkitfullscreenerror", {configurable:true, enumerable:true, get:function onwebkitfullscreenerror (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwebkitfullscreenerror_get", arguments)}, set:function onwebkitfullscreenerror (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwebkitfullscreenerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "rootElement", {configurable:true, enumerable:true, get:function rootElement (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "rootElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onbeforexrselect", {configurable:true, enumerable:true, get:function onbeforexrselect (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onbeforexrselect_get", arguments)}, set:function onbeforexrselect (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onbeforexrselect_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onabort", {configurable:true, enumerable:true, get:function onabort (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onabort_get", arguments)}, set:function onabort (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onabort_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onblur", {configurable:true, enumerable:true, get:function onblur (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onblur_get", arguments)}, set:function onblur (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onblur_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "oncancel", {configurable:true, enumerable:true, get:function oncancel (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncancel_get", arguments)}, set:function oncancel (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncancel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "oncanplay", {configurable:true, enumerable:true, get:function oncanplay (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncanplay_get", arguments)}, set:function oncanplay (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncanplay_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "oncanplaythrough", {configurable:true, enumerable:true, get:function oncanplaythrough (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncanplaythrough_get", arguments)}, set:function oncanplaythrough (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncanplaythrough_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onchange", {configurable:true, enumerable:true, get:function onchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onchange_get", arguments)}, set:function onchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onclick", {configurable:true, enumerable:true, get:function onclick (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onclick_get", arguments)}, set:function onclick (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onclick_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onclose", {configurable:true, enumerable:true, get:function onclose (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onclose_get", arguments)}, set:function onclose (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onclose_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "oncontextlost", {configurable:true, enumerable:true, get:function oncontextlost (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncontextlost_get", arguments)}, set:function oncontextlost (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncontextlost_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "oncontextmenu", {configurable:true, enumerable:true, get:function oncontextmenu (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncontextmenu_get", arguments)}, set:function oncontextmenu (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncontextmenu_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "oncontextrestored", {configurable:true, enumerable:true, get:function oncontextrestored (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncontextrestored_get", arguments)}, set:function oncontextrestored (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncontextrestored_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "oncuechange", {configurable:true, enumerable:true, get:function oncuechange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncuechange_get", arguments)}, set:function oncuechange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncuechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ondblclick", {configurable:true, enumerable:true, get:function ondblclick (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondblclick_get", arguments)}, set:function ondblclick (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondblclick_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ondrag", {configurable:true, enumerable:true, get:function ondrag (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondrag_get", arguments)}, set:function ondrag (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondrag_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ondragend", {configurable:true, enumerable:true, get:function ondragend (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondragend_get", arguments)}, set:function ondragend (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondragend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ondragenter", {configurable:true, enumerable:true, get:function ondragenter (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondragenter_get", arguments)}, set:function ondragenter (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondragenter_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ondragleave", {configurable:true, enumerable:true, get:function ondragleave (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondragleave_get", arguments)}, set:function ondragleave (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondragleave_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ondragover", {configurable:true, enumerable:true, get:function ondragover (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondragover_get", arguments)}, set:function ondragover (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondragover_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ondragstart", {configurable:true, enumerable:true, get:function ondragstart (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondragstart_get", arguments)}, set:function ondragstart (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondragstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ondrop", {configurable:true, enumerable:true, get:function ondrop (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondrop_get", arguments)}, set:function ondrop (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondrop_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ondurationchange", {configurable:true, enumerable:true, get:function ondurationchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondurationchange_get", arguments)}, set:function ondurationchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ondurationchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onemptied", {configurable:true, enumerable:true, get:function onemptied (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onemptied_get", arguments)}, set:function onemptied (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onemptied_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onended", {configurable:true, enumerable:true, get:function onended (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onended_get", arguments)}, set:function onended (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onended_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onerror", {configurable:true, enumerable:true, get:function onerror (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onerror_get", arguments)}, set:function onerror (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onfocus", {configurable:true, enumerable:true, get:function onfocus (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onfocus_get", arguments)}, set:function onfocus (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onfocus_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onformdata", {configurable:true, enumerable:true, get:function onformdata (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onformdata_get", arguments)}, set:function onformdata (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onformdata_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "oninput", {configurable:true, enumerable:true, get:function oninput (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oninput_get", arguments)}, set:function oninput (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oninput_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "oninvalid", {configurable:true, enumerable:true, get:function oninvalid (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oninvalid_get", arguments)}, set:function oninvalid (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oninvalid_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onkeydown", {configurable:true, enumerable:true, get:function onkeydown (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onkeydown_get", arguments)}, set:function onkeydown (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onkeydown_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onkeypress", {configurable:true, enumerable:true, get:function onkeypress (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onkeypress_get", arguments)}, set:function onkeypress (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onkeypress_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onkeyup", {configurable:true, enumerable:true, get:function onkeyup (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onkeyup_get", arguments)}, set:function onkeyup (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onkeyup_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onload", {configurable:true, enumerable:true, get:function onload (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onload_get", arguments)}, set:function onload (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onload_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onloadeddata", {configurable:true, enumerable:true, get:function onloadeddata (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onloadeddata_get", arguments)}, set:function onloadeddata (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onloadeddata_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onloadedmetadata", {configurable:true, enumerable:true, get:function onloadedmetadata (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onloadedmetadata_get", arguments)}, set:function onloadedmetadata (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onloadedmetadata_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onloadstart", {configurable:true, enumerable:true, get:function onloadstart (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onloadstart_get", arguments)}, set:function onloadstart (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onloadstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onmousedown", {configurable:true, enumerable:true, get:function onmousedown (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmousedown_get", arguments)}, set:function onmousedown (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmousedown_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onmouseenter", {configurable:true, enumerable:true, get:function onmouseenter (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmouseenter_get", arguments)}, set:function onmouseenter (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmouseenter_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onmouseleave", {configurable:true, enumerable:true, get:function onmouseleave (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmouseleave_get", arguments)}, set:function onmouseleave (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmouseleave_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onmousemove", {configurable:true, enumerable:true, get:function onmousemove (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmousemove_get", arguments)}, set:function onmousemove (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmousemove_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onmouseout", {configurable:true, enumerable:true, get:function onmouseout (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmouseout_get", arguments)}, set:function onmouseout (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmouseout_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onmouseover", {configurable:true, enumerable:true, get:function onmouseover (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmouseover_get", arguments)}, set:function onmouseover (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmouseover_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onmouseup", {configurable:true, enumerable:true, get:function onmouseup (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmouseup_get", arguments)}, set:function onmouseup (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmouseup_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onmousewheel", {configurable:true, enumerable:true, get:function onmousewheel (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmousewheel_get", arguments)}, set:function onmousewheel (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onmousewheel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onpause", {configurable:true, enumerable:true, get:function onpause (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpause_get", arguments)}, set:function onpause (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpause_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onplay", {configurable:true, enumerable:true, get:function onplay (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onplay_get", arguments)}, set:function onplay (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onplay_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onplaying", {configurable:true, enumerable:true, get:function onplaying (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onplaying_get", arguments)}, set:function onplaying (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onplaying_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onprogress", {configurable:true, enumerable:true, get:function onprogress (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onprogress_get", arguments)}, set:function onprogress (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onprogress_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onratechange", {configurable:true, enumerable:true, get:function onratechange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onratechange_get", arguments)}, set:function onratechange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onratechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onreset", {configurable:true, enumerable:true, get:function onreset (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onreset_get", arguments)}, set:function onreset (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onreset_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onresize", {configurable:true, enumerable:true, get:function onresize (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onresize_get", arguments)}, set:function onresize (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onresize_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onscroll", {configurable:true, enumerable:true, get:function onscroll (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onscroll_get", arguments)}, set:function onscroll (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onscroll_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onsecuritypolicyviolation", {configurable:true, enumerable:true, get:function onsecuritypolicyviolation (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onsecuritypolicyviolation_get", arguments)}, set:function onsecuritypolicyviolation (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onsecuritypolicyviolation_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onseeked", {configurable:true, enumerable:true, get:function onseeked (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onseeked_get", arguments)}, set:function onseeked (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onseeked_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onseeking", {configurable:true, enumerable:true, get:function onseeking (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onseeking_get", arguments)}, set:function onseeking (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onseeking_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onselect", {configurable:true, enumerable:true, get:function onselect (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onselect_get", arguments)}, set:function onselect (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onselect_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onslotchange", {configurable:true, enumerable:true, get:function onslotchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onslotchange_get", arguments)}, set:function onslotchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onslotchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onstalled", {configurable:true, enumerable:true, get:function onstalled (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onstalled_get", arguments)}, set:function onstalled (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onstalled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onsubmit", {configurable:true, enumerable:true, get:function onsubmit (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onsubmit_get", arguments)}, set:function onsubmit (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onsubmit_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onsuspend", {configurable:true, enumerable:true, get:function onsuspend (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onsuspend_get", arguments)}, set:function onsuspend (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onsuspend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ontimeupdate", {configurable:true, enumerable:true, get:function ontimeupdate (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ontimeupdate_get", arguments)}, set:function ontimeupdate (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ontimeupdate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ontoggle", {configurable:true, enumerable:true, get:function ontoggle (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ontoggle_get", arguments)}, set:function ontoggle (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ontoggle_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onvolumechange", {configurable:true, enumerable:true, get:function onvolumechange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onvolumechange_get", arguments)}, set:function onvolumechange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onvolumechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onwaiting", {configurable:true, enumerable:true, get:function onwaiting (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwaiting_get", arguments)}, set:function onwaiting (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwaiting_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onwebkitanimationend", {configurable:true, enumerable:true, get:function onwebkitanimationend (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwebkitanimationend_get", arguments)}, set:function onwebkitanimationend (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwebkitanimationend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onwebkitanimationiteration", {configurable:true, enumerable:true, get:function onwebkitanimationiteration (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwebkitanimationiteration_get", arguments)}, set:function onwebkitanimationiteration (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwebkitanimationiteration_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onwebkitanimationstart", {configurable:true, enumerable:true, get:function onwebkitanimationstart (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwebkitanimationstart_get", arguments)}, set:function onwebkitanimationstart (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwebkitanimationstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onwebkittransitionend", {configurable:true, enumerable:true, get:function onwebkittransitionend (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwebkittransitionend_get", arguments)}, set:function onwebkittransitionend (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwebkittransitionend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onwheel", {configurable:true, enumerable:true, get:function onwheel (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwheel_get", arguments)}, set:function onwheel (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onwheel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onauxclick", {configurable:true, enumerable:true, get:function onauxclick (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onauxclick_get", arguments)}, set:function onauxclick (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onauxclick_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ongotpointercapture", {configurable:true, enumerable:true, get:function ongotpointercapture (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ongotpointercapture_get", arguments)}, set:function ongotpointercapture (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ongotpointercapture_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onlostpointercapture", {configurable:true, enumerable:true, get:function onlostpointercapture (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onlostpointercapture_get", arguments)}, set:function onlostpointercapture (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onlostpointercapture_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onpointerdown", {configurable:true, enumerable:true, get:function onpointerdown (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerdown_get", arguments)}, set:function onpointerdown (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerdown_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onpointermove", {configurable:true, enumerable:true, get:function onpointermove (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointermove_get", arguments)}, set:function onpointermove (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointermove_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onpointerup", {configurable:true, enumerable:true, get:function onpointerup (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerup_get", arguments)}, set:function onpointerup (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerup_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onpointercancel", {configurable:true, enumerable:true, get:function onpointercancel (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointercancel_get", arguments)}, set:function onpointercancel (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointercancel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onpointerover", {configurable:true, enumerable:true, get:function onpointerover (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerover_get", arguments)}, set:function onpointerover (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerover_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onpointerout", {configurable:true, enumerable:true, get:function onpointerout (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerout_get", arguments)}, set:function onpointerout (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerout_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onpointerenter", {configurable:true, enumerable:true, get:function onpointerenter (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerenter_get", arguments)}, set:function onpointerenter (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerenter_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onpointerleave", {configurable:true, enumerable:true, get:function onpointerleave (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerleave_get", arguments)}, set:function onpointerleave (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerleave_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onselectstart", {configurable:true, enumerable:true, get:function onselectstart (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onselectstart_get", arguments)}, set:function onselectstart (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onselectstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onselectionchange", {configurable:true, enumerable:true, get:function onselectionchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onselectionchange_get", arguments)}, set:function onselectionchange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onselectionchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onanimationend", {configurable:true, enumerable:true, get:function onanimationend (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onanimationend_get", arguments)}, set:function onanimationend (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onanimationend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onanimationiteration", {configurable:true, enumerable:true, get:function onanimationiteration (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onanimationiteration_get", arguments)}, set:function onanimationiteration (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onanimationiteration_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onanimationstart", {configurable:true, enumerable:true, get:function onanimationstart (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onanimationstart_get", arguments)}, set:function onanimationstart (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onanimationstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ontransitionrun", {configurable:true, enumerable:true, get:function ontransitionrun (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ontransitionrun_get", arguments)}, set:function ontransitionrun (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ontransitionrun_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ontransitionstart", {configurable:true, enumerable:true, get:function ontransitionstart (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ontransitionstart_get", arguments)}, set:function ontransitionstart (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ontransitionstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ontransitionend", {configurable:true, enumerable:true, get:function ontransitionend (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ontransitionend_get", arguments)}, set:function ontransitionend (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ontransitionend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "ontransitioncancel", {configurable:true, enumerable:true, get:function ontransitioncancel (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ontransitioncancel_get", arguments)}, set:function ontransitioncancel (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "ontransitioncancel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "oncopy", {configurable:true, enumerable:true, get:function oncopy (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncopy_get", arguments)}, set:function oncopy (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncopy_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "oncut", {configurable:true, enumerable:true, get:function oncut (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncut_get", arguments)}, set:function oncut (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "oncut_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onpaste", {configurable:true, enumerable:true, get:function onpaste (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpaste_get", arguments)}, set:function onpaste (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpaste_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "children", {configurable:true, enumerable:true, get:function children (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "children_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "firstElementChild", {configurable:true, enumerable:true, get:function firstElementChild (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "firstElementChild_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "lastElementChild", {configurable:true, enumerable:true, get:function lastElementChild (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "lastElementChild_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "childElementCount", {configurable:true, enumerable:true, get:function childElementCount (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "childElementCount_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "activeElement", {configurable:true, enumerable:true, get:function activeElement (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "activeElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "styleSheets", {configurable:true, enumerable:true, get:function styleSheets (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "styleSheets_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "pointerLockElement", {configurable:true, enumerable:true, get:function pointerLockElement (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "pointerLockElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "fullscreenElement", {configurable:true, enumerable:true, get:function fullscreenElement (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "fullscreenElement_get", arguments)}, set:function fullscreenElement (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "fullscreenElement_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "adoptedStyleSheets", {configurable:true, enumerable:true, get:function adoptedStyleSheets (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "adoptedStyleSheets_get", arguments)}, set:function adoptedStyleSheets (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "adoptedStyleSheets_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "fonts", {configurable:true, enumerable:true, get:function fonts (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "fonts_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "adoptNode", {configurable:true, enumerable:true, writable:true, value:function adoptNode (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "adoptNode", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "append", {configurable:true, enumerable:true, writable:true, value:function append (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "append", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "captureEvents", {configurable:true, enumerable:true, writable:true, value:function captureEvents (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "captureEvents", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "caretRangeFromPoint", {configurable:true, enumerable:true, writable:true, value:function caretRangeFromPoint (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "caretRangeFromPoint", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "clear", {configurable:true, enumerable:true, writable:true, value:function clear (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "clear", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "close", {configurable:true, enumerable:true, writable:true, value:function close (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "close", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createAttribute", {configurable:true, enumerable:true, writable:true, value:function createAttribute (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createAttribute", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createAttributeNS", {configurable:true, enumerable:true, writable:true, value:function createAttributeNS (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createAttributeNS", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createCDATASection", {configurable:true, enumerable:true, writable:true, value:function createCDATASection (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createCDATASection", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createComment", {configurable:true, enumerable:true, writable:true, value:function createComment (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createComment", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createDocumentFragment", {configurable:true, enumerable:true, writable:true, value:function createDocumentFragment (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createDocumentFragment", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createElement", {configurable:true, enumerable:true, writable:true, value:function createElement (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createElement", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createElementNS", {configurable:true, enumerable:true, writable:true, value:function createElementNS (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createElementNS", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createEvent", {configurable:true, enumerable:true, writable:true, value:function createEvent (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createEvent", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createExpression", {configurable:true, enumerable:true, writable:true, value:function createExpression (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createExpression", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createNSResolver", {configurable:true, enumerable:true, writable:true, value:function createNSResolver (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createNSResolver", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createNodeIterator", {configurable:true, enumerable:true, writable:true, value:function createNodeIterator (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createNodeIterator", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createProcessingInstruction", {configurable:true, enumerable:true, writable:true, value:function createProcessingInstruction (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createProcessingInstruction", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createRange", {configurable:true, enumerable:true, writable:true, value:function createRange (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createRange", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createTextNode", {configurable:true, enumerable:true, writable:true, value:function createTextNode (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createTextNode", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "createTreeWalker", {configurable:true, enumerable:true, writable:true, value:function createTreeWalker (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "createTreeWalker", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "elementFromPoint", {configurable:true, enumerable:true, writable:true, value:function elementFromPoint (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "elementFromPoint", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "elementsFromPoint", {configurable:true, enumerable:true, writable:true, value:function elementsFromPoint (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "elementsFromPoint", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "evaluate", {configurable:true, enumerable:true, writable:true, value:function evaluate (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "evaluate", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "execCommand", {configurable:true, enumerable:true, writable:true, value:function execCommand (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "execCommand", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "exitFullscreen", {configurable:true, enumerable:true, writable:true, value:function exitFullscreen (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "exitFullscreen", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "exitPointerLock", {configurable:true, enumerable:true, writable:true, value:function exitPointerLock (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "exitPointerLock", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "getElementById", {configurable:true, enumerable:true, writable:true, value:function getElementById (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "getElementById", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "getElementsByClassName", {configurable:true, enumerable:true, writable:true, value:function getElementsByClassName (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "getElementsByClassName", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "getElementsByName", {configurable:true, enumerable:true, writable:true, value:function getElementsByName (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "getElementsByName", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "getElementsByTagName", {configurable:true, enumerable:true, writable:true, value:function getElementsByTagName (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "getElementsByTagName", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "getElementsByTagNameNS", {configurable:true, enumerable:true, writable:true, value:function getElementsByTagNameNS (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "getElementsByTagNameNS", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "getSelection", {configurable:true, enumerable:true, writable:true, value:function getSelection (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "getSelection", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "hasFocus", {configurable:true, enumerable:true, writable:true, value:function hasFocus (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "hasFocus", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "importNode", {configurable:true, enumerable:true, writable:true, value:function importNode (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "importNode", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "open", {configurable:true, enumerable:true, writable:true, value:function open (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "open", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "prepend", {configurable:true, enumerable:true, writable:true, value:function prepend (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "prepend", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "queryCommandEnabled", {configurable:true, enumerable:true, writable:true, value:function queryCommandEnabled (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "queryCommandEnabled", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "queryCommandIndeterm", {configurable:true, enumerable:true, writable:true, value:function queryCommandIndeterm (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "queryCommandIndeterm", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "queryCommandState", {configurable:true, enumerable:true, writable:true, value:function queryCommandState (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "queryCommandState", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "queryCommandSupported", {configurable:true, enumerable:true, writable:true, value:function queryCommandSupported (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "queryCommandSupported", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "queryCommandValue", {configurable:true, enumerable:true, writable:true, value:function queryCommandValue (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "queryCommandValue", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "querySelector", {configurable:true, enumerable:true, writable:true, value:function querySelector (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "querySelector", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "querySelectorAll", {configurable:true, enumerable:true, writable:true, value:function querySelectorAll (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "querySelectorAll", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "releaseEvents", {configurable:true, enumerable:true, writable:true, value:function releaseEvents (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "releaseEvents", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "replaceChildren", {configurable:true, enumerable:true, writable:true, value:function replaceChildren (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "replaceChildren", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "webkitCancelFullScreen", {configurable:true, enumerable:true, writable:true, value:function webkitCancelFullScreen (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "webkitCancelFullScreen", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "webkitExitFullscreen", {configurable:true, enumerable:true, writable:true, value:function webkitExitFullscreen (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "webkitExitFullscreen", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "write", {configurable:true, enumerable:true, writable:true, value:function write (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "write", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "writeln", {configurable:true, enumerable:true, writable:true, value:function writeln (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "writeln", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "fragmentDirective", {configurable:true, enumerable:true, get:function fragmentDirective (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "fragmentDirective_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onbeforematch", {configurable:true, enumerable:true, get:function onbeforematch (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onbeforematch_get", arguments)}, set:function onbeforematch (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onbeforematch_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "timeline", {configurable:true, enumerable:true, get:function timeline (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "timeline_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "pictureInPictureEnabled", {configurable:true, enumerable:true, get:function pictureInPictureEnabled (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "pictureInPictureEnabled_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "pictureInPictureElement", {configurable:true, enumerable:true, get:function pictureInPictureElement (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "pictureInPictureElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Document.prototype, "onpointerrawupdate", {configurable:true, enumerable:true, get:function onpointerrawupdate (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerrawupdate_get", arguments)}, set:function onpointerrawupdate (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "onpointerrawupdate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "exitPictureInPicture", {configurable:true, enumerable:true, writable:true, value:function exitPictureInPicture (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "exitPictureInPicture", arguments)}});
-bodavm.toolsFunc.defineProperty(Document.prototype, "getAnimations", {configurable:true, enumerable:true, writable:true, value:function getAnimations (){return bodavm.toolsFunc.dispatch(this, Document.prototype, "Document", "getAnimations", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/DocumentFragment.js b/env_xbb_lastest_cheerio/env/DocumentFragment.js
deleted file mode 100644
index e152ce95..00000000
--- a/env_xbb_lastest_cheerio/env/DocumentFragment.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// DocumentFragment对象
-DocumentFragment = function DocumentFragment(){}
-bodavm.toolsFunc.safeProto(DocumentFragment, "DocumentFragment");
-DocumentFragment.prototype.__proto__=Node.prototype;
-DocumentFragment.__proto__=Node;
-bodavm.toolsFunc.defineProperty(DocumentFragment.prototype, "children", {configurable:true, enumerable:true, get:function children (){return bodavm.toolsFunc.dispatch(this, DocumentFragment.prototype, "DocumentFragment", "children_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(DocumentFragment.prototype, "firstElementChild", {configurable:true, enumerable:true, get:function firstElementChild (){return bodavm.toolsFunc.dispatch(this, DocumentFragment.prototype, "DocumentFragment", "firstElementChild_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(DocumentFragment.prototype, "lastElementChild", {configurable:true, enumerable:true, get:function lastElementChild (){return bodavm.toolsFunc.dispatch(this, DocumentFragment.prototype, "DocumentFragment", "lastElementChild_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(DocumentFragment.prototype, "childElementCount", {configurable:true, enumerable:true, get:function childElementCount (){return bodavm.toolsFunc.dispatch(this, DocumentFragment.prototype, "DocumentFragment", "childElementCount_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(DocumentFragment.prototype, "append", {configurable:true, enumerable:true, writable:true, value:function append (){return bodavm.toolsFunc.dispatch(this, DocumentFragment.prototype, "DocumentFragment", "append", arguments)}});
-bodavm.toolsFunc.defineProperty(DocumentFragment.prototype, "getElementById", {configurable:true, enumerable:true, writable:true, value:function getElementById (){return bodavm.toolsFunc.dispatch(this, DocumentFragment.prototype, "DocumentFragment", "getElementById", arguments)}});
-bodavm.toolsFunc.defineProperty(DocumentFragment.prototype, "prepend", {configurable:true, enumerable:true, writable:true, value:function prepend (){return bodavm.toolsFunc.dispatch(this, DocumentFragment.prototype, "DocumentFragment", "prepend", arguments)}});
-bodavm.toolsFunc.defineProperty(DocumentFragment.prototype, "querySelector", {configurable:true, enumerable:true, writable:true, value:function querySelector (){return bodavm.toolsFunc.dispatch(this, DocumentFragment.prototype, "DocumentFragment", "querySelector", arguments)}});
-bodavm.toolsFunc.defineProperty(DocumentFragment.prototype, "querySelectorAll", {configurable:true, enumerable:true, writable:true, value:function querySelectorAll (){return bodavm.toolsFunc.dispatch(this, DocumentFragment.prototype, "DocumentFragment", "querySelectorAll", arguments)}});
-bodavm.toolsFunc.defineProperty(DocumentFragment.prototype, "replaceChildren", {configurable:true, enumerable:true, writable:true, value:function replaceChildren (){return bodavm.toolsFunc.dispatch(this, DocumentFragment.prototype, "DocumentFragment", "replaceChildren", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/DocumentType.js b/env_xbb_lastest_cheerio/env/DocumentType.js
deleted file mode 100644
index 9db683c2..00000000
--- a/env_xbb_lastest_cheerio/env/DocumentType.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// DocumentType对象
-DocumentType = function DocumentType(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(DocumentType, "DocumentType");
-DocumentType.prototype.__proto__=Node.prototype;
-DocumentType.__proto__=Node;
-bodavm.toolsFunc.defineProperty(DocumentType.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, DocumentType.prototype, "DocumentType", "name_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(DocumentType.prototype, "publicId", {configurable:true, enumerable:true, get:function publicId (){return bodavm.toolsFunc.dispatch(this, DocumentType.prototype, "DocumentType", "publicId_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(DocumentType.prototype, "systemId", {configurable:true, enumerable:true, get:function systemId (){return bodavm.toolsFunc.dispatch(this, DocumentType.prototype, "DocumentType", "systemId_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(DocumentType.prototype, "after", {configurable:true, enumerable:true, writable:true, value:function after (){return bodavm.toolsFunc.dispatch(this, DocumentType.prototype, "DocumentType", "after", arguments)}});
-bodavm.toolsFunc.defineProperty(DocumentType.prototype, "before", {configurable:true, enumerable:true, writable:true, value:function before (){return bodavm.toolsFunc.dispatch(this, DocumentType.prototype, "DocumentType", "before", arguments)}});
-bodavm.toolsFunc.defineProperty(DocumentType.prototype, "remove", {configurable:true, enumerable:true, writable:true, value:function remove (){return bodavm.toolsFunc.dispatch(this, DocumentType.prototype, "DocumentType", "remove", arguments)}});
-bodavm.toolsFunc.defineProperty(DocumentType.prototype, "replaceWith", {configurable:true, enumerable:true, writable:true, value:function replaceWith (){return bodavm.toolsFunc.dispatch(this, DocumentType.prototype, "DocumentType", "replaceWith", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/Element.js b/env_xbb_lastest_cheerio/env/Element.js
deleted file mode 100644
index 2e275774..00000000
--- a/env_xbb_lastest_cheerio/env/Element.js
+++ /dev/null
@@ -1,135 +0,0 @@
-// Element对象
-Element = function Element(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(Element, "Element");
-Element.prototype.__proto__=Node.prototype;
-Element.__proto__=Node;
-bodavm.toolsFunc.defineProperty(Element.prototype, "namespaceURI", {configurable:true, enumerable:true, get:function namespaceURI (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "namespaceURI_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "prefix", {configurable:true, enumerable:true, get:function prefix (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "prefix_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "localName", {configurable:true, enumerable:true, get:function localName (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "localName_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "tagName", {configurable:true, enumerable:true, get:function tagName (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "tagName_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "id", {configurable:true, enumerable:true, get:function id (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "id_get", arguments)}, set:function id (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "id_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "className", {configurable:true, enumerable:true, get:function className (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "className_get", arguments)}, set:function className (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "className_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "classList", {configurable:true, enumerable:true, get:function classList (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "classList_get", arguments)}, set:function classList (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "classList_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "slot", {configurable:true, enumerable:true, get:function slot (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "slot_get", arguments)}, set:function slot (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "slot_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "attributes", {configurable:true, enumerable:true, get:function attributes (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "attributes_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "shadowRoot", {configurable:true, enumerable:true, get:function shadowRoot (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "shadowRoot_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "part", {configurable:true, enumerable:true, get:function part (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "part_get", arguments)}, set:function part (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "part_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "assignedSlot", {configurable:true, enumerable:true, get:function assignedSlot (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "assignedSlot_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "innerHTML", {configurable:true, enumerable:true, get:function innerHTML (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "innerHTML_get", arguments)}, set:function innerHTML (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "innerHTML_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "outerHTML", {configurable:true, enumerable:true, get:function outerHTML (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "outerHTML_get", arguments)}, set:function outerHTML (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "outerHTML_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "scrollTop", {configurable:true, enumerable:true, get:function scrollTop (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "scrollTop_get", arguments)}, set:function scrollTop (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "scrollTop_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "scrollLeft", {configurable:true, enumerable:true, get:function scrollLeft (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "scrollLeft_get", arguments)}, set:function scrollLeft (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "scrollLeft_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "scrollWidth", {configurable:true, enumerable:true, get:function scrollWidth (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "scrollWidth_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "scrollHeight", {configurable:true, enumerable:true, get:function scrollHeight (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "scrollHeight_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "clientTop", {configurable:true, enumerable:true, get:function clientTop (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "clientTop_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "clientLeft", {configurable:true, enumerable:true, get:function clientLeft (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "clientLeft_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "clientWidth", {configurable:true, enumerable:true, get:function clientWidth (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "clientWidth_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "clientHeight", {configurable:true, enumerable:true, get:function clientHeight (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "clientHeight_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "attributeStyleMap", {configurable:true, enumerable:true, get:function attributeStyleMap (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "attributeStyleMap_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "onbeforecopy", {configurable:true, enumerable:true, get:function onbeforecopy (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onbeforecopy_get", arguments)}, set:function onbeforecopy (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onbeforecopy_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "onbeforecut", {configurable:true, enumerable:true, get:function onbeforecut (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onbeforecut_get", arguments)}, set:function onbeforecut (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onbeforecut_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "onbeforepaste", {configurable:true, enumerable:true, get:function onbeforepaste (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onbeforepaste_get", arguments)}, set:function onbeforepaste (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onbeforepaste_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "onsearch", {configurable:true, enumerable:true, get:function onsearch (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onsearch_get", arguments)}, set:function onsearch (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onsearch_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "elementTiming", {configurable:true, enumerable:true, get:function elementTiming (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "elementTiming_get", arguments)}, set:function elementTiming (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "elementTiming_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "onfullscreenchange", {configurable:true, enumerable:true, get:function onfullscreenchange (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onfullscreenchange_get", arguments)}, set:function onfullscreenchange (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onfullscreenchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "onfullscreenerror", {configurable:true, enumerable:true, get:function onfullscreenerror (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onfullscreenerror_get", arguments)}, set:function onfullscreenerror (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onfullscreenerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "onwebkitfullscreenchange", {configurable:true, enumerable:true, get:function onwebkitfullscreenchange (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onwebkitfullscreenchange_get", arguments)}, set:function onwebkitfullscreenchange (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onwebkitfullscreenchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "onwebkitfullscreenerror", {configurable:true, enumerable:true, get:function onwebkitfullscreenerror (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onwebkitfullscreenerror_get", arguments)}, set:function onwebkitfullscreenerror (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "onwebkitfullscreenerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "children", {configurable:true, enumerable:true, get:function children (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "children_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "firstElementChild", {configurable:true, enumerable:true, get:function firstElementChild (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "firstElementChild_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "lastElementChild", {configurable:true, enumerable:true, get:function lastElementChild (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "lastElementChild_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "childElementCount", {configurable:true, enumerable:true, get:function childElementCount (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "childElementCount_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "previousElementSibling", {configurable:true, enumerable:true, get:function previousElementSibling (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "previousElementSibling_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "nextElementSibling", {configurable:true, enumerable:true, get:function nextElementSibling (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "nextElementSibling_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Element.prototype, "after", {configurable:true, enumerable:true, writable:true, value:function after (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "after", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "animate", {configurable:true, enumerable:true, writable:true, value:function animate (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "animate", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "append", {configurable:true, enumerable:true, writable:true, value:function append (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "append", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "attachShadow", {configurable:true, enumerable:true, writable:true, value:function attachShadow (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "attachShadow", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "before", {configurable:true, enumerable:true, writable:true, value:function before (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "before", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "closest", {configurable:true, enumerable:true, writable:true, value:function closest (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "closest", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "computedStyleMap", {configurable:true, enumerable:true, writable:true, value:function computedStyleMap (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "computedStyleMap", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "getAttribute", {configurable:true, enumerable:true, writable:true, value:function getAttribute (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "getAttribute", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "getAttributeNS", {configurable:true, enumerable:true, writable:true, value:function getAttributeNS (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "getAttributeNS", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "getAttributeNames", {configurable:true, enumerable:true, writable:true, value:function getAttributeNames (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "getAttributeNames", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "getAttributeNode", {configurable:true, enumerable:true, writable:true, value:function getAttributeNode (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "getAttributeNode", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "getAttributeNodeNS", {configurable:true, enumerable:true, writable:true, value:function getAttributeNodeNS (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "getAttributeNodeNS", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "getBoundingClientRect", {configurable:true, enumerable:true, writable:true, value:function getBoundingClientRect (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "getBoundingClientRect", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "getClientRects", {configurable:true, enumerable:true, writable:true, value:function getClientRects (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "getClientRects", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "getElementsByClassName", {configurable:true, enumerable:true, writable:true, value:function getElementsByClassName (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "getElementsByClassName", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "getElementsByTagName", {configurable:true, enumerable:true, writable:true, value:function getElementsByTagName (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "getElementsByTagName", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "getElementsByTagNameNS", {configurable:true, enumerable:true, writable:true, value:function getElementsByTagNameNS (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "getElementsByTagNameNS", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "getInnerHTML", {configurable:true, enumerable:true, writable:true, value:function getInnerHTML (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "getInnerHTML", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "hasAttribute", {configurable:true, enumerable:true, writable:true, value:function hasAttribute (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "hasAttribute", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "hasAttributeNS", {configurable:true, enumerable:true, writable:true, value:function hasAttributeNS (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "hasAttributeNS", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "hasAttributes", {configurable:true, enumerable:true, writable:true, value:function hasAttributes (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "hasAttributes", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "hasPointerCapture", {configurable:true, enumerable:true, writable:true, value:function hasPointerCapture (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "hasPointerCapture", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "insertAdjacentElement", {configurable:true, enumerable:true, writable:true, value:function insertAdjacentElement (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "insertAdjacentElement", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "insertAdjacentHTML", {configurable:true, enumerable:true, writable:true, value:function insertAdjacentHTML (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "insertAdjacentHTML", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "insertAdjacentText", {configurable:true, enumerable:true, writable:true, value:function insertAdjacentText (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "insertAdjacentText", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "matches", {configurable:true, enumerable:true, writable:true, value:function matches (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "matches", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "prepend", {configurable:true, enumerable:true, writable:true, value:function prepend (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "prepend", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "querySelector", {configurable:true, enumerable:true, writable:true, value:function querySelector (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "querySelector", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "querySelectorAll", {configurable:true, enumerable:true, writable:true, value:function querySelectorAll (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "querySelectorAll", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "releasePointerCapture", {configurable:true, enumerable:true, writable:true, value:function releasePointerCapture (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "releasePointerCapture", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "remove", {configurable:true, enumerable:true, writable:true, value:function remove (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "remove", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "removeAttribute", {configurable:true, enumerable:true, writable:true, value:function removeAttribute (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "removeAttribute", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "removeAttributeNS", {configurable:true, enumerable:true, writable:true, value:function removeAttributeNS (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "removeAttributeNS", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "removeAttributeNode", {configurable:true, enumerable:true, writable:true, value:function removeAttributeNode (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "removeAttributeNode", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "replaceChildren", {configurable:true, enumerable:true, writable:true, value:function replaceChildren (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "replaceChildren", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "replaceWith", {configurable:true, enumerable:true, writable:true, value:function replaceWith (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "replaceWith", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "requestFullscreen", {configurable:true, enumerable:true, writable:true, value:function requestFullscreen (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "requestFullscreen", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "requestPointerLock", {configurable:true, enumerable:true, writable:true, value:function requestPointerLock (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "requestPointerLock", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "scroll", {configurable:true, enumerable:true, writable:true, value:function scroll (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "scroll", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "scrollBy", {configurable:true, enumerable:true, writable:true, value:function scrollBy (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "scrollBy", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "scrollIntoView", {configurable:true, enumerable:true, writable:true, value:function scrollIntoView (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "scrollIntoView", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "scrollIntoViewIfNeeded", {configurable:true, enumerable:true, writable:true, value:function scrollIntoViewIfNeeded (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "scrollIntoViewIfNeeded", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "scrollTo", {configurable:true, enumerable:true, writable:true, value:function scrollTo (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "scrollTo", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "setAttribute", {configurable:true, enumerable:true, writable:true, value:function setAttribute (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "setAttribute", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "setAttributeNS", {configurable:true, enumerable:true, writable:true, value:function setAttributeNS (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "setAttributeNS", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "setAttributeNode", {configurable:true, enumerable:true, writable:true, value:function setAttributeNode (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "setAttributeNode", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "setAttributeNodeNS", {configurable:true, enumerable:true, writable:true, value:function setAttributeNodeNS (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "setAttributeNodeNS", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "setPointerCapture", {configurable:true, enumerable:true, writable:true, value:function setPointerCapture (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "setPointerCapture", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "toggleAttribute", {configurable:true, enumerable:true, writable:true, value:function toggleAttribute (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "toggleAttribute", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "webkitMatchesSelector", {configurable:true, enumerable:true, writable:true, value:function webkitMatchesSelector (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "webkitMatchesSelector", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "webkitRequestFullScreen", {configurable:true, enumerable:true, writable:true, value:function webkitRequestFullScreen (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "webkitRequestFullScreen", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "webkitRequestFullscreen", {configurable:true, enumerable:true, writable:true, value:function webkitRequestFullscreen (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "webkitRequestFullscreen", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaAtomic", {configurable:true, enumerable:true, get:function ariaAtomic (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaAtomic_get", arguments)}, set:function ariaAtomic (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaAtomic_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaAutoComplete", {configurable:true, enumerable:true, get:function ariaAutoComplete (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaAutoComplete_get", arguments)}, set:function ariaAutoComplete (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaAutoComplete_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaBusy", {configurable:true, enumerable:true, get:function ariaBusy (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaBusy_get", arguments)}, set:function ariaBusy (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaBusy_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaChecked", {configurable:true, enumerable:true, get:function ariaChecked (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaChecked_get", arguments)}, set:function ariaChecked (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaChecked_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaColCount", {configurable:true, enumerable:true, get:function ariaColCount (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaColCount_get", arguments)}, set:function ariaColCount (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaColCount_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaColIndex", {configurable:true, enumerable:true, get:function ariaColIndex (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaColIndex_get", arguments)}, set:function ariaColIndex (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaColIndex_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaColSpan", {configurable:true, enumerable:true, get:function ariaColSpan (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaColSpan_get", arguments)}, set:function ariaColSpan (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaColSpan_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaCurrent", {configurable:true, enumerable:true, get:function ariaCurrent (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaCurrent_get", arguments)}, set:function ariaCurrent (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaCurrent_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaDescription", {configurable:true, enumerable:true, get:function ariaDescription (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaDescription_get", arguments)}, set:function ariaDescription (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaDescription_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaDisabled", {configurable:true, enumerable:true, get:function ariaDisabled (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaDisabled_get", arguments)}, set:function ariaDisabled (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaDisabled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaExpanded", {configurable:true, enumerable:true, get:function ariaExpanded (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaExpanded_get", arguments)}, set:function ariaExpanded (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaExpanded_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaHasPopup", {configurable:true, enumerable:true, get:function ariaHasPopup (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaHasPopup_get", arguments)}, set:function ariaHasPopup (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaHasPopup_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaHidden", {configurable:true, enumerable:true, get:function ariaHidden (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaHidden_get", arguments)}, set:function ariaHidden (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaHidden_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaInvalid", {configurable:true, enumerable:true, get:function ariaInvalid (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaInvalid_get", arguments)}, set:function ariaInvalid (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaInvalid_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaKeyShortcuts", {configurable:true, enumerable:true, get:function ariaKeyShortcuts (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaKeyShortcuts_get", arguments)}, set:function ariaKeyShortcuts (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaKeyShortcuts_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaLabel", {configurable:true, enumerable:true, get:function ariaLabel (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaLabel_get", arguments)}, set:function ariaLabel (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaLabel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaLevel", {configurable:true, enumerable:true, get:function ariaLevel (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaLevel_get", arguments)}, set:function ariaLevel (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaLevel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaLive", {configurable:true, enumerable:true, get:function ariaLive (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaLive_get", arguments)}, set:function ariaLive (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaLive_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaModal", {configurable:true, enumerable:true, get:function ariaModal (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaModal_get", arguments)}, set:function ariaModal (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaModal_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaMultiLine", {configurable:true, enumerable:true, get:function ariaMultiLine (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaMultiLine_get", arguments)}, set:function ariaMultiLine (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaMultiLine_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaMultiSelectable", {configurable:true, enumerable:true, get:function ariaMultiSelectable (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaMultiSelectable_get", arguments)}, set:function ariaMultiSelectable (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaMultiSelectable_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaOrientation", {configurable:true, enumerable:true, get:function ariaOrientation (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaOrientation_get", arguments)}, set:function ariaOrientation (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaOrientation_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaPlaceholder", {configurable:true, enumerable:true, get:function ariaPlaceholder (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaPlaceholder_get", arguments)}, set:function ariaPlaceholder (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaPlaceholder_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaPosInSet", {configurable:true, enumerable:true, get:function ariaPosInSet (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaPosInSet_get", arguments)}, set:function ariaPosInSet (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaPosInSet_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaPressed", {configurable:true, enumerable:true, get:function ariaPressed (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaPressed_get", arguments)}, set:function ariaPressed (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaPressed_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaReadOnly", {configurable:true, enumerable:true, get:function ariaReadOnly (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaReadOnly_get", arguments)}, set:function ariaReadOnly (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaReadOnly_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaRelevant", {configurable:true, enumerable:true, get:function ariaRelevant (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaRelevant_get", arguments)}, set:function ariaRelevant (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaRelevant_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaRequired", {configurable:true, enumerable:true, get:function ariaRequired (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaRequired_get", arguments)}, set:function ariaRequired (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaRequired_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaRoleDescription", {configurable:true, enumerable:true, get:function ariaRoleDescription (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaRoleDescription_get", arguments)}, set:function ariaRoleDescription (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaRoleDescription_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaRowCount", {configurable:true, enumerable:true, get:function ariaRowCount (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaRowCount_get", arguments)}, set:function ariaRowCount (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaRowCount_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaRowIndex", {configurable:true, enumerable:true, get:function ariaRowIndex (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaRowIndex_get", arguments)}, set:function ariaRowIndex (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaRowIndex_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaRowSpan", {configurable:true, enumerable:true, get:function ariaRowSpan (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaRowSpan_get", arguments)}, set:function ariaRowSpan (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaRowSpan_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaSelected", {configurable:true, enumerable:true, get:function ariaSelected (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaSelected_get", arguments)}, set:function ariaSelected (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaSelected_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaSetSize", {configurable:true, enumerable:true, get:function ariaSetSize (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaSetSize_get", arguments)}, set:function ariaSetSize (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaSetSize_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaSort", {configurable:true, enumerable:true, get:function ariaSort (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaSort_get", arguments)}, set:function ariaSort (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaSort_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaValueMax", {configurable:true, enumerable:true, get:function ariaValueMax (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaValueMax_get", arguments)}, set:function ariaValueMax (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaValueMax_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaValueMin", {configurable:true, enumerable:true, get:function ariaValueMin (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaValueMin_get", arguments)}, set:function ariaValueMin (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaValueMin_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaValueNow", {configurable:true, enumerable:true, get:function ariaValueNow (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaValueNow_get", arguments)}, set:function ariaValueNow (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaValueNow_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "ariaValueText", {configurable:true, enumerable:true, get:function ariaValueText (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaValueText_get", arguments)}, set:function ariaValueText (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "ariaValueText_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Element.prototype, "getAnimations", {configurable:true, enumerable:true, writable:true, value:function getAnimations (){return bodavm.toolsFunc.dispatch(this, Element.prototype, "Element", "getAnimations", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/Event.js b/env_xbb_lastest_cheerio/env/Event.js
deleted file mode 100644
index ea5006fe..00000000
--- a/env_xbb_lastest_cheerio/env/Event.js
+++ /dev/null
@@ -1,42 +0,0 @@
-//Event对象
-Event=function Event(){
- if (arguments.length <1){
- return bodavm.toolsFunc.throwError("TypeError","Failed to construct 'Event': 1 argument required, but only 0 present.")
- }
- this._type=arguments[0]
- Object.defineProperty(this,'isTrusted',{
- configurable:false,
- enumerable:true,
- set:undefined,
- get:function (){
- return true
- }
- })
- }
-bodavm.toolsFunc.safeProto(Event,"Event");
-bodavm.toolsFunc.defineProperty(Event,"NONE",{configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(Event,"CAPTURING_PHASE",{configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(Event,"AT_TARGET",{configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(Event,"BUBBLING_PHASE",{configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(Event.prototype,"type",{configurable:true, enumerable:true, get:function type () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","type_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Event.prototype,"target",{configurable:true, enumerable:true, get:function target () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","target_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Event.prototype,"currentTarget",{configurable:true, enumerable:true, get:function currentTarget () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","currentTarget_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Event.prototype,"eventPhase",{configurable:true, enumerable:true, get:function eventPhase () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","eventPhase_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Event.prototype,"bubbles",{configurable:true, enumerable:true, get:function bubbles () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","bubbles_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Event.prototype,"cancelable",{configurable:true, enumerable:true, get:function cancelable () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","cancelable_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Event.prototype,"defaultPrevented",{configurable:true, enumerable:true, get:function defaultPrevented () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","defaultPrevented_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Event.prototype,"composed",{configurable:true, enumerable:true, get:function composed () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","composed_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Event.prototype,"timeStamp",{configurable:true, enumerable:true, get:function timeStamp () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","timeStamp_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Event.prototype,"srcElement",{configurable:true, enumerable:true, get:function srcElement () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","srcElement_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Event.prototype,"returnValue",{configurable:true, enumerable:true, get:function returnValue () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","returnValue_get",arguments)},set:function returnValue () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","returnValue_set",arguments)},});
-bodavm.toolsFunc.defineProperty(Event.prototype,"cancelBubble",{configurable:true, enumerable:true, get:function cancelBubble () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","cancelBubble_get",arguments)},set:function cancelBubble () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","cancelBubble_set",arguments)},});
-bodavm.toolsFunc.defineProperty(Event.prototype,"NONE",{configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(Event.prototype,"CAPTURING_PHASE",{configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(Event.prototype,"AT_TARGET",{configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(Event.prototype,"BUBBLING_PHASE",{configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(Event.prototype,"composedPath",{configurable:true, enumerable:true, writable:true, value:function composedPath() {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","composedPath",arguments)}});
-bodavm.toolsFunc.defineProperty(Event.prototype,"initEvent",{configurable:true, enumerable:true, writable:true, value:function initEvent() {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","initEvent",arguments)}});
-bodavm.toolsFunc.defineProperty(Event.prototype,"preventDefault",{configurable:true, enumerable:true, writable:true, value:function preventDefault() {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","preventDefault",arguments)}});
-bodavm.toolsFunc.defineProperty(Event.prototype,"stopImmediatePropagation",{configurable:true, enumerable:true, writable:true, value:function stopImmediatePropagation() {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","stopImmediatePropagation",arguments)}});
-bodavm.toolsFunc.defineProperty(Event.prototype,"stopPropagation",{configurable:true, enumerable:true, writable:true, value:function stopPropagation() {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","stopPropagation",arguments)}});
-bodavm.toolsFunc.defineProperty(Event.prototype,"path",{configurable:true, enumerable:true, get:function path () {return bodavm.toolsFunc.dispatch(this,Event.prototype,"Event","path_get",arguments)},set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/EventTarget.js b/env_xbb_lastest_cheerio/env/EventTarget.js
deleted file mode 100644
index ee76ba21..00000000
--- a/env_xbb_lastest_cheerio/env/EventTarget.js
+++ /dev/null
@@ -1,6 +0,0 @@
-//EventTarget对象
-EventTarget=function EventTarget(){}
-bodavm.toolsFunc.safeProto(EventTarget,"EventTarget");
-bodavm.toolsFunc.defineProperty(EventTarget.prototype,"addEventListener",{configurable:true, enumerable:true, writable:true, value:function () {return bodavm.toolsFunc.dispatch(this,EventTarget.prototype,"EventTarget","addEventListener",arguments)}});
-bodavm.toolsFunc.defineProperty(EventTarget.prototype,"dispatchEvent",{configurable:true, enumerable:true, writable:true, value:function () {return bodavm.toolsFunc.dispatch(this,EventTarget.prototype,"EventTarget","dispatchEvent",arguments)}});
-bodavm.toolsFunc.defineProperty(EventTarget.prototype,"removeEventListener",{configurable:true, enumerable:true, writable:true, value:function () {return bodavm.toolsFunc.dispatch(this,EventTarget.prototype,"EventTarget","removeEventListener",arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/External.js b/env_xbb_lastest_cheerio/env/External.js
deleted file mode 100644
index 17abb1e0..00000000
--- a/env_xbb_lastest_cheerio/env/External.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// External对象
-External = function External(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(External, "External");
-bodavm.toolsFunc.defineProperty(External.prototype, "AddSearchProvider", {configurable:true, enumerable:true, writable:true, value:function AddSearchProvider (){return bodavm.toolsFunc.dispatch(this, External.prototype, "External", "AddSearchProvider", arguments)}});
-bodavm.toolsFunc.defineProperty(External.prototype, "IsSearchProviderInstalled", {configurable:true, enumerable:true, writable:true, value:function IsSearchProviderInstalled (){return bodavm.toolsFunc.dispatch(this, External.prototype, "External", "IsSearchProviderInstalled", arguments)}});
-// external对象
-var external = {}
-external.__proto__=External.prototype;
diff --git a/env_xbb_lastest_cheerio/env/HTMLCollection.js b/env_xbb_lastest_cheerio/env/HTMLCollection.js
deleted file mode 100644
index 2a6d1899..00000000
--- a/env_xbb_lastest_cheerio/env/HTMLCollection.js
+++ /dev/null
@@ -1,6 +0,0 @@
-//HTMLCollection对象
-HTMLCollection=function HTMLCollection(){return bodavm.toolsFunc.throwError("TypeError","Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLCollection,"HTMLCollection");
-bodavm.toolsFunc.defineProperty(HTMLCollection.prototype,"length",{configurable:true, enumerable:true, get:function length () {return bodavm.toolsFunc.dispatch(this,HTMLCollection.prototype,"HTMLCollection","length_get",arguments,)},set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLCollection.prototype,"item",{configurable:true, enumerable:true, writable:true, value:function item() {return bodavm.toolsFunc.dispatch(this,HTMLCollection.prototype,"HTMLCollection","item",arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLCollection.prototype,"namedItem",{configurable:true, enumerable:true, writable:true, value:function namedItem() {return bodavm.toolsFunc.dispatch(this,HTMLCollection.prototype,"HTMLCollection","namedItem",arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/HTMLDocument.js b/env_xbb_lastest_cheerio/env/HTMLDocument.js
deleted file mode 100644
index 0459a7c2..00000000
--- a/env_xbb_lastest_cheerio/env/HTMLDocument.js
+++ /dev/null
@@ -1,22 +0,0 @@
-// HTMLDocument对象
-HTMLDocument = function HTMLDocument(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLDocument, "HTMLDocument");
-HTMLDocument.prototype.__proto__=Document.prototype;
-HTMLDocument.__proto__=Document;
-
-// document对象
-// document= {}
-
-
-
-var document = {}
-
-document.__proto__=HTMLDocument.prototype
-
-Object.setPrototypeOf(document, HTMLDocument.prototype);
-bodavm.toolsFunc.defineProperty(document,"location",{configurable:false, enumerable:true, get:function location () {return bodavm.toolsFunc.dispatch(this,document,"document","location_get",arguments,)},set:function location () {return bodavm.toolsFunc.dispatch(this,document,"document","location_set",arguments)},});
-bodavm.toolsFunc.defineProperty(document,"f",{configurable:true, enumerable:true, writable:true, value:{},});
-bodavm.toolsFunc.defineProperty(document,"jQuery110208558905071218827",{configurable:true, enumerable:true, writable:true, value:5});
-bodavm.toolsFunc.defineProperty(document,"writeln",{configurable:true, enumerable:true, writable:true, value:function writeln() {return bodavm.toolsFunc.dispatch(this,document,"document","writeln",arguments)}});
-bodavm.toolsFunc.defineProperty(document,"write",{configurable:true, enumerable:true, writable:true, value:function write() {return bodavm.toolsFunc.dispatch(this,document,"document","write",arguments)}});
-//解析的root
diff --git a/env_xbb_lastest_cheerio/env/HTMLElement.js b/env_xbb_lastest_cheerio/env/HTMLElement.js
deleted file mode 100644
index 1c8c7b7a..00000000
--- a/env_xbb_lastest_cheerio/env/HTMLElement.js
+++ /dev/null
@@ -1,130 +0,0 @@
-// HTMLElement对象
-HTMLElement = function HTMLElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLElement, "HTMLElement");
-HTMLElement.prototype.__proto__=Element.prototype;
-HTMLElement.__proto__=Element;
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "title", {configurable:true, enumerable:true, get:function title (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "title_get", arguments)}, set:function title (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "title_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "lang", {configurable:true, enumerable:true, get:function lang (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "lang_get", arguments)}, set:function lang (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "lang_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "translate", {configurable:true, enumerable:true, get:function translate (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "translate_get", arguments)}, set:function translate (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "translate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "dir", {configurable:true, enumerable:true, get:function dir (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "dir_get", arguments)}, set:function dir (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "dir_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "hidden", {configurable:true, enumerable:true, get:function hidden (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "hidden_get", arguments)}, set:function hidden (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "hidden_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "accessKey", {configurable:true, enumerable:true, get:function accessKey (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "accessKey_get", arguments)}, set:function accessKey (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "accessKey_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "draggable", {configurable:true, enumerable:true, get:function draggable (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "draggable_get", arguments)}, set:function draggable (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "draggable_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "spellcheck", {configurable:true, enumerable:true, get:function spellcheck (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "spellcheck_get", arguments)}, set:function spellcheck (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "spellcheck_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "autocapitalize", {configurable:true, enumerable:true, get:function autocapitalize (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "autocapitalize_get", arguments)}, set:function autocapitalize (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "autocapitalize_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "contentEditable", {configurable:true, enumerable:true, get:function contentEditable (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "contentEditable_get", arguments)}, set:function contentEditable (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "contentEditable_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "isContentEditable", {configurable:true, enumerable:true, get:function isContentEditable (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "isContentEditable_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "inputMode", {configurable:true, enumerable:true, get:function inputMode (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "inputMode_get", arguments)}, set:function inputMode (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "inputMode_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "offsetParent", {configurable:true, enumerable:true, get:function offsetParent (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "offsetParent_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "offsetTop", {configurable:true, enumerable:true, get:function offsetTop (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "offsetTop_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "offsetLeft", {configurable:true, enumerable:true, get:function offsetLeft (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "offsetLeft_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "offsetWidth", {configurable:true, enumerable:true, get:function offsetWidth (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "offsetWidth_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "offsetHeight", {configurable:true, enumerable:true, get:function offsetHeight (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "offsetHeight_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "innerText", {configurable:true, enumerable:true, get:function innerText (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "innerText_get", arguments)}, set:function innerText (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "innerText_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "outerText", {configurable:true, enumerable:true, get:function outerText (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "outerText_get", arguments)}, set:function outerText (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "outerText_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onbeforexrselect", {configurable:true, enumerable:true, get:function onbeforexrselect (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onbeforexrselect_get", arguments)}, set:function onbeforexrselect (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onbeforexrselect_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onabort", {configurable:true, enumerable:true, get:function onabort (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onabort_get", arguments)}, set:function onabort (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onabort_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onblur", {configurable:true, enumerable:true, get:function onblur (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onblur_get", arguments)}, set:function onblur (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onblur_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "oncancel", {configurable:true, enumerable:true, get:function oncancel (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncancel_get", arguments)}, set:function oncancel (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncancel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "oncanplay", {configurable:true, enumerable:true, get:function oncanplay (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncanplay_get", arguments)}, set:function oncanplay (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncanplay_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "oncanplaythrough", {configurable:true, enumerable:true, get:function oncanplaythrough (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncanplaythrough_get", arguments)}, set:function oncanplaythrough (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncanplaythrough_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onchange", {configurable:true, enumerable:true, get:function onchange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onchange_get", arguments)}, set:function onchange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onclick", {configurable:true, enumerable:true, get:function onclick (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onclick_get", arguments)}, set:function onclick (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onclick_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onclose", {configurable:true, enumerable:true, get:function onclose (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onclose_get", arguments)}, set:function onclose (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onclose_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "oncontextlost", {configurable:true, enumerable:true, get:function oncontextlost (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncontextlost_get", arguments)}, set:function oncontextlost (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncontextlost_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "oncontextmenu", {configurable:true, enumerable:true, get:function oncontextmenu (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncontextmenu_get", arguments)}, set:function oncontextmenu (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncontextmenu_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "oncontextrestored", {configurable:true, enumerable:true, get:function oncontextrestored (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncontextrestored_get", arguments)}, set:function oncontextrestored (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncontextrestored_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "oncuechange", {configurable:true, enumerable:true, get:function oncuechange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncuechange_get", arguments)}, set:function oncuechange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncuechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ondblclick", {configurable:true, enumerable:true, get:function ondblclick (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondblclick_get", arguments)}, set:function ondblclick (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondblclick_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ondrag", {configurable:true, enumerable:true, get:function ondrag (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondrag_get", arguments)}, set:function ondrag (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondrag_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ondragend", {configurable:true, enumerable:true, get:function ondragend (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondragend_get", arguments)}, set:function ondragend (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondragend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ondragenter", {configurable:true, enumerable:true, get:function ondragenter (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondragenter_get", arguments)}, set:function ondragenter (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondragenter_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ondragleave", {configurable:true, enumerable:true, get:function ondragleave (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondragleave_get", arguments)}, set:function ondragleave (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondragleave_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ondragover", {configurable:true, enumerable:true, get:function ondragover (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondragover_get", arguments)}, set:function ondragover (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondragover_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ondragstart", {configurable:true, enumerable:true, get:function ondragstart (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondragstart_get", arguments)}, set:function ondragstart (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondragstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ondrop", {configurable:true, enumerable:true, get:function ondrop (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondrop_get", arguments)}, set:function ondrop (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondrop_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ondurationchange", {configurable:true, enumerable:true, get:function ondurationchange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondurationchange_get", arguments)}, set:function ondurationchange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ondurationchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onemptied", {configurable:true, enumerable:true, get:function onemptied (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onemptied_get", arguments)}, set:function onemptied (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onemptied_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onended", {configurable:true, enumerable:true, get:function onended (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onended_get", arguments)}, set:function onended (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onended_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onerror", {configurable:true, enumerable:true, get:function onerror (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onerror_get", arguments)}, set:function onerror (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onfocus", {configurable:true, enumerable:true, get:function onfocus (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onfocus_get", arguments)}, set:function onfocus (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onfocus_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onformdata", {configurable:true, enumerable:true, get:function onformdata (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onformdata_get", arguments)}, set:function onformdata (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onformdata_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "oninput", {configurable:true, enumerable:true, get:function oninput (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oninput_get", arguments)}, set:function oninput (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oninput_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "oninvalid", {configurable:true, enumerable:true, get:function oninvalid (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oninvalid_get", arguments)}, set:function oninvalid (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oninvalid_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onkeydown", {configurable:true, enumerable:true, get:function onkeydown (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onkeydown_get", arguments)}, set:function onkeydown (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onkeydown_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onkeypress", {configurable:true, enumerable:true, get:function onkeypress (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onkeypress_get", arguments)}, set:function onkeypress (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onkeypress_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onkeyup", {configurable:true, enumerable:true, get:function onkeyup (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onkeyup_get", arguments)}, set:function onkeyup (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onkeyup_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onload", {configurable:true, enumerable:true, get:function onload (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onload_get", arguments)}, set:function onload (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onload_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onloadeddata", {configurable:true, enumerable:true, get:function onloadeddata (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onloadeddata_get", arguments)}, set:function onloadeddata (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onloadeddata_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onloadedmetadata", {configurable:true, enumerable:true, get:function onloadedmetadata (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onloadedmetadata_get", arguments)}, set:function onloadedmetadata (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onloadedmetadata_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onloadstart", {configurable:true, enumerable:true, get:function onloadstart (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onloadstart_get", arguments)}, set:function onloadstart (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onloadstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onmousedown", {configurable:true, enumerable:true, get:function onmousedown (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmousedown_get", arguments)}, set:function onmousedown (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmousedown_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onmouseenter", {configurable:true, enumerable:true, get:function onmouseenter (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmouseenter_get", arguments)}, set:function onmouseenter (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmouseenter_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onmouseleave", {configurable:true, enumerable:true, get:function onmouseleave (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmouseleave_get", arguments)}, set:function onmouseleave (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmouseleave_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onmousemove", {configurable:true, enumerable:true, get:function onmousemove (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmousemove_get", arguments)}, set:function onmousemove (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmousemove_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onmouseout", {configurable:true, enumerable:true, get:function onmouseout (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmouseout_get", arguments)}, set:function onmouseout (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmouseout_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onmouseover", {configurable:true, enumerable:true, get:function onmouseover (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmouseover_get", arguments)}, set:function onmouseover (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmouseover_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onmouseup", {configurable:true, enumerable:true, get:function onmouseup (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmouseup_get", arguments)}, set:function onmouseup (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmouseup_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onmousewheel", {configurable:true, enumerable:true, get:function onmousewheel (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmousewheel_get", arguments)}, set:function onmousewheel (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onmousewheel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onpause", {configurable:true, enumerable:true, get:function onpause (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpause_get", arguments)}, set:function onpause (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpause_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onplay", {configurable:true, enumerable:true, get:function onplay (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onplay_get", arguments)}, set:function onplay (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onplay_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onplaying", {configurable:true, enumerable:true, get:function onplaying (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onplaying_get", arguments)}, set:function onplaying (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onplaying_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onprogress", {configurable:true, enumerable:true, get:function onprogress (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onprogress_get", arguments)}, set:function onprogress (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onprogress_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onratechange", {configurable:true, enumerable:true, get:function onratechange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onratechange_get", arguments)}, set:function onratechange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onratechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onreset", {configurable:true, enumerable:true, get:function onreset (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onreset_get", arguments)}, set:function onreset (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onreset_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onresize", {configurable:true, enumerable:true, get:function onresize (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onresize_get", arguments)}, set:function onresize (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onresize_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onscroll", {configurable:true, enumerable:true, get:function onscroll (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onscroll_get", arguments)}, set:function onscroll (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onscroll_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onsecuritypolicyviolation", {configurable:true, enumerable:true, get:function onsecuritypolicyviolation (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onsecuritypolicyviolation_get", arguments)}, set:function onsecuritypolicyviolation (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onsecuritypolicyviolation_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onseeked", {configurable:true, enumerable:true, get:function onseeked (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onseeked_get", arguments)}, set:function onseeked (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onseeked_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onseeking", {configurable:true, enumerable:true, get:function onseeking (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onseeking_get", arguments)}, set:function onseeking (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onseeking_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onselect", {configurable:true, enumerable:true, get:function onselect (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onselect_get", arguments)}, set:function onselect (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onselect_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onslotchange", {configurable:true, enumerable:true, get:function onslotchange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onslotchange_get", arguments)}, set:function onslotchange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onslotchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onstalled", {configurable:true, enumerable:true, get:function onstalled (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onstalled_get", arguments)}, set:function onstalled (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onstalled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onsubmit", {configurable:true, enumerable:true, get:function onsubmit (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onsubmit_get", arguments)}, set:function onsubmit (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onsubmit_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onsuspend", {configurable:true, enumerable:true, get:function onsuspend (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onsuspend_get", arguments)}, set:function onsuspend (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onsuspend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ontimeupdate", {configurable:true, enumerable:true, get:function ontimeupdate (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ontimeupdate_get", arguments)}, set:function ontimeupdate (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ontimeupdate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ontoggle", {configurable:true, enumerable:true, get:function ontoggle (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ontoggle_get", arguments)}, set:function ontoggle (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ontoggle_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onvolumechange", {configurable:true, enumerable:true, get:function onvolumechange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onvolumechange_get", arguments)}, set:function onvolumechange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onvolumechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onwaiting", {configurable:true, enumerable:true, get:function onwaiting (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onwaiting_get", arguments)}, set:function onwaiting (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onwaiting_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onwebkitanimationend", {configurable:true, enumerable:true, get:function onwebkitanimationend (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onwebkitanimationend_get", arguments)}, set:function onwebkitanimationend (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onwebkitanimationend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onwebkitanimationiteration", {configurable:true, enumerable:true, get:function onwebkitanimationiteration (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onwebkitanimationiteration_get", arguments)}, set:function onwebkitanimationiteration (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onwebkitanimationiteration_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onwebkitanimationstart", {configurable:true, enumerable:true, get:function onwebkitanimationstart (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onwebkitanimationstart_get", arguments)}, set:function onwebkitanimationstart (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onwebkitanimationstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onwebkittransitionend", {configurable:true, enumerable:true, get:function onwebkittransitionend (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onwebkittransitionend_get", arguments)}, set:function onwebkittransitionend (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onwebkittransitionend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onwheel", {configurable:true, enumerable:true, get:function onwheel (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onwheel_get", arguments)}, set:function onwheel (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onwheel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onauxclick", {configurable:true, enumerable:true, get:function onauxclick (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onauxclick_get", arguments)}, set:function onauxclick (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onauxclick_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ongotpointercapture", {configurable:true, enumerable:true, get:function ongotpointercapture (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ongotpointercapture_get", arguments)}, set:function ongotpointercapture (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ongotpointercapture_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onlostpointercapture", {configurable:true, enumerable:true, get:function onlostpointercapture (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onlostpointercapture_get", arguments)}, set:function onlostpointercapture (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onlostpointercapture_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onpointerdown", {configurable:true, enumerable:true, get:function onpointerdown (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerdown_get", arguments)}, set:function onpointerdown (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerdown_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onpointermove", {configurable:true, enumerable:true, get:function onpointermove (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointermove_get", arguments)}, set:function onpointermove (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointermove_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onpointerup", {configurable:true, enumerable:true, get:function onpointerup (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerup_get", arguments)}, set:function onpointerup (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerup_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onpointercancel", {configurable:true, enumerable:true, get:function onpointercancel (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointercancel_get", arguments)}, set:function onpointercancel (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointercancel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onpointerover", {configurable:true, enumerable:true, get:function onpointerover (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerover_get", arguments)}, set:function onpointerover (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerover_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onpointerout", {configurable:true, enumerable:true, get:function onpointerout (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerout_get", arguments)}, set:function onpointerout (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerout_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onpointerenter", {configurable:true, enumerable:true, get:function onpointerenter (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerenter_get", arguments)}, set:function onpointerenter (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerenter_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onpointerleave", {configurable:true, enumerable:true, get:function onpointerleave (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerleave_get", arguments)}, set:function onpointerleave (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerleave_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onselectstart", {configurable:true, enumerable:true, get:function onselectstart (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onselectstart_get", arguments)}, set:function onselectstart (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onselectstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onselectionchange", {configurable:true, enumerable:true, get:function onselectionchange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onselectionchange_get", arguments)}, set:function onselectionchange (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onselectionchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onanimationend", {configurable:true, enumerable:true, get:function onanimationend (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onanimationend_get", arguments)}, set:function onanimationend (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onanimationend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onanimationiteration", {configurable:true, enumerable:true, get:function onanimationiteration (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onanimationiteration_get", arguments)}, set:function onanimationiteration (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onanimationiteration_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onanimationstart", {configurable:true, enumerable:true, get:function onanimationstart (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onanimationstart_get", arguments)}, set:function onanimationstart (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onanimationstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ontransitionrun", {configurable:true, enumerable:true, get:function ontransitionrun (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ontransitionrun_get", arguments)}, set:function ontransitionrun (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ontransitionrun_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ontransitionstart", {configurable:true, enumerable:true, get:function ontransitionstart (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ontransitionstart_get", arguments)}, set:function ontransitionstart (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ontransitionstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ontransitionend", {configurable:true, enumerable:true, get:function ontransitionend (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ontransitionend_get", arguments)}, set:function ontransitionend (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ontransitionend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "ontransitioncancel", {configurable:true, enumerable:true, get:function ontransitioncancel (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ontransitioncancel_get", arguments)}, set:function ontransitioncancel (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "ontransitioncancel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "oncopy", {configurable:true, enumerable:true, get:function oncopy (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncopy_get", arguments)}, set:function oncopy (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncopy_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "oncut", {configurable:true, enumerable:true, get:function oncut (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncut_get", arguments)}, set:function oncut (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "oncut_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onpaste", {configurable:true, enumerable:true, get:function onpaste (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpaste_get", arguments)}, set:function onpaste (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpaste_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "dataset", {configurable:true, enumerable:true, get:function dataset (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "dataset_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "nonce", {configurable:true, enumerable:true, get:function nonce (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "nonce_get", arguments)}, set:function nonce (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "nonce_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "autofocus", {configurable:true, enumerable:true, get:function autofocus (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "autofocus_get", arguments)}, set:function autofocus (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "autofocus_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "tabIndex", {configurable:true, enumerable:true, get:function tabIndex (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "tabIndex_get", arguments)}, set:function tabIndex (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "tabIndex_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "style", {configurable:true, enumerable:true, get:function style (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "style_get", arguments)}, set:function style (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "style_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "attachInternals", {configurable:true, enumerable:true, writable:true, value:function attachInternals (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "attachInternals", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "blur", {configurable:true, enumerable:true, writable:true, value:function blur (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "blur", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "click", {configurable:true, enumerable:true, writable:true, value:function click (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "click", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "focus", {configurable:true, enumerable:true, writable:true, value:function focus (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "focus", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "inert", {configurable:true, enumerable:true, get:function inert (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "inert_get", arguments)}, set:function inert (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "inert_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "enterKeyHint", {configurable:true, enumerable:true, get:function enterKeyHint (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "enterKeyHint_get", arguments)}, set:function enterKeyHint (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "enterKeyHint_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "virtualKeyboardPolicy", {configurable:true, enumerable:true, get:function virtualKeyboardPolicy (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "virtualKeyboardPolicy_get", arguments)}, set:function virtualKeyboardPolicy (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "virtualKeyboardPolicy_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onpointerrawupdate", {configurable:true, enumerable:true, get:function onpointerrawupdate (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerrawupdate_get", arguments)}, set:function onpointerrawupdate (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onpointerrawupdate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLElement.prototype, "onbeforematch", {configurable:true, enumerable:true, get:function onbeforematch (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onbeforematch_get", arguments)}, set:function onbeforematch (){return bodavm.toolsFunc.dispatch(this, HTMLElement.prototype, "HTMLElement", "onbeforematch_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/Headers.js b/env_xbb_lastest_cheerio/env/Headers.js
deleted file mode 100644
index 5a4a36b7..00000000
--- a/env_xbb_lastest_cheerio/env/Headers.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Headers对象
-Headers = function Headers(){}
-bodavm.toolsFunc.safeProto(Headers, "Headers");
-bodavm.toolsFunc.defineProperty(Headers.prototype, "append", {configurable:true, enumerable:true, writable:true, value:function append (){return bodavm.toolsFunc.dispatch(this, Headers.prototype, "Headers", "append", arguments)}});
-bodavm.toolsFunc.defineProperty(Headers.prototype, "delete", {configurable:true, enumerable:true, writable:true, value:function (){return bodavm.toolsFunc.dispatch(this, Headers.prototype, "Headers", "delete", arguments)}});
-bodavm.toolsFunc.defineProperty(Headers.prototype, "get", {configurable:true, enumerable:true, writable:true, value:function get (){return bodavm.toolsFunc.dispatch(this, Headers.prototype, "Headers", "get", arguments)}});
-bodavm.toolsFunc.defineProperty(Headers.prototype, "has", {configurable:true, enumerable:true, writable:true, value:function has (){return bodavm.toolsFunc.dispatch(this, Headers.prototype, "Headers", "has", arguments)}});
-bodavm.toolsFunc.defineProperty(Headers.prototype, "set", {configurable:true, enumerable:true, writable:true, value:function set (){return bodavm.toolsFunc.dispatch(this, Headers.prototype, "Headers", "set", arguments)}});
-bodavm.toolsFunc.defineProperty(Headers.prototype, "entries", {configurable:true, enumerable:true, writable:true, value:function entries (){return bodavm.toolsFunc.dispatch(this, Headers.prototype, "Headers", "entries", arguments)}});
-bodavm.toolsFunc.defineProperty(Headers.prototype, "forEach", {configurable:true, enumerable:true, writable:true, value:function forEach (){return bodavm.toolsFunc.dispatch(this, Headers.prototype, "Headers", "forEach", arguments)}});
-bodavm.toolsFunc.defineProperty(Headers.prototype, "keys", {configurable:true, enumerable:true, writable:true, value:function keys (){return bodavm.toolsFunc.dispatch(this, Headers.prototype, "Headers", "keys", arguments)}});
-bodavm.toolsFunc.defineProperty(Headers.prototype, "values", {configurable:true, enumerable:true, writable:true, value:function values (){return bodavm.toolsFunc.dispatch(this, Headers.prototype, "Headers", "values", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/History.js b/env_xbb_lastest_cheerio/env/History.js
deleted file mode 100644
index 8d2df38c..00000000
--- a/env_xbb_lastest_cheerio/env/History.js
+++ /dev/null
@@ -1,14 +0,0 @@
-//History对象
-History=function History(){return bodavm.toolsFunc.throwError("TypeError","Illegal constructor")}
-bodavm.toolsFunc.safeProto(History,"History");
-bodavm.toolsFunc.defineProperty(History.prototype,"length",{configurable:true, enumerable:true, get:function length () {return bodavm.toolsFunc.dispatch(this,History.prototype,"History","length_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(History.prototype,"scrollRestoration",{configurable:true, enumerable:true, get:function scrollRestoration () {return bodavm.toolsFunc.dispatch(this,History.prototype,"History","scrollRestoration_get",arguments)},set:function scrollRestoration () {return bodavm.toolsFunc.dispatch(this,History.prototype,"History","scrollRestoration_set",arguments)},});
-bodavm.toolsFunc.defineProperty(History.prototype,"state",{configurable:true, enumerable:true, get:function state () {return bodavm.toolsFunc.dispatch(this,History.prototype,"History","state_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(History.prototype,"back",{configurable:true, enumerable:true, writable:true, value:function back() {return bodavm.toolsFunc.dispatch(this,History.prototype,"History","back",arguments)}});
-bodavm.toolsFunc.defineProperty(History.prototype,"forward",{configurable:true, enumerable:true, writable:true, value:function forward() {return bodavm.toolsFunc.dispatch(this,History.prototype,"History","forward",arguments)}});
-bodavm.toolsFunc.defineProperty(History.prototype,"go",{configurable:true, enumerable:true, writable:true, value:function go() {return bodavm.toolsFunc.dispatch(this,History.prototype,"History","go",arguments)}});
-bodavm.toolsFunc.defineProperty(History.prototype,"pushState",{configurable:true, enumerable:true, writable:true, value:function pushState() {return bodavm.toolsFunc.dispatch(this,History.prototype,"History","pushState",arguments)}});
-bodavm.toolsFunc.defineProperty(History.prototype,"replaceState",{configurable:true, enumerable:true, writable:true, value:function replaceState() {return bodavm.toolsFunc.dispatch(this,History.prototype,"History","replaceState",arguments)}});
-// history对象
-var history= {}
-Object.setPrototypeOf(history, History.prototype);
diff --git a/env_xbb_lastest_cheerio/env/IDBDatabase.js b/env_xbb_lastest_cheerio/env/IDBDatabase.js
deleted file mode 100644
index fdccf568..00000000
--- a/env_xbb_lastest_cheerio/env/IDBDatabase.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// IDBDatabase对象
-IDBDatabase = function IDBDatabase(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(IDBDatabase, "IDBDatabase");
-IDBDatabase.prototype.__proto__=EventTarget.prototype;
-IDBDatabase.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(IDBDatabase.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "name_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBDatabase.prototype, "version", {configurable:true, enumerable:true, get:function version (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "version_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBDatabase.prototype, "objectStoreNames", {configurable:true, enumerable:true, get:function objectStoreNames (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "objectStoreNames_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBDatabase.prototype, "onabort", {configurable:true, enumerable:true, get:function onabort (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "onabort_get", arguments)}, set:function onabort (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "onabort_set", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBDatabase.prototype, "onclose", {configurable:true, enumerable:true, get:function onclose (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "onclose_get", arguments)}, set:function onclose (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "onclose_set", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBDatabase.prototype, "onerror", {configurable:true, enumerable:true, get:function onerror (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "onerror_get", arguments)}, set:function onerror (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "onerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBDatabase.prototype, "onversionchange", {configurable:true, enumerable:true, get:function onversionchange (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "onversionchange_get", arguments)}, set:function onversionchange (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "onversionchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBDatabase.prototype, "close", {configurable:true, enumerable:true, writable:true, value:function close (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "close", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBDatabase.prototype, "createObjectStore", {configurable:true, enumerable:true, writable:true, value:function createObjectStore (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "createObjectStore", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBDatabase.prototype, "deleteObjectStore", {configurable:true, enumerable:true, writable:true, value:function deleteObjectStore (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "deleteObjectStore", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBDatabase.prototype, "transaction", {configurable:true, enumerable:true, writable:true, value:function transaction (){return bodavm.toolsFunc.dispatch(this, IDBDatabase.prototype, "IDBDatabase", "transaction", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/IDBFactory.js b/env_xbb_lastest_cheerio/env/IDBFactory.js
deleted file mode 100644
index aae5582c..00000000
--- a/env_xbb_lastest_cheerio/env/IDBFactory.js
+++ /dev/null
@@ -1,12 +0,0 @@
-//IDBFactory对象
-IDBFactory=function IDBFactory(){return bodavm.toolsFunc.throwError("TypeError","Illegal constructor")}
-bodavm.toolsFunc.safeProto(IDBFactory,"IDBFactory");
-bodavm.toolsFunc.defineProperty(IDBFactory.prototype,"cmp",{configurable:true, enumerable:true, writable:true, value:function cmp() {return bodavm.toolsFunc.dispatch(this,IDBFactory.prototype,"IDBFactory","cmp",arguments)}});
-bodavm.toolsFunc.defineProperty(IDBFactory.prototype,"databases",{configurable:true, enumerable:true, writable:true, value:function databases() {return bodavm.toolsFunc.dispatch(this,IDBFactory.prototype,"IDBFactory","databases",arguments)}});
-bodavm.toolsFunc.defineProperty(IDBFactory.prototype,"deleteDatabase",{configurable:true, enumerable:true, writable:true, value:function deleteDatabase() {return bodavm.toolsFunc.dispatch(this,IDBFactory.prototype,"IDBFactory","deleteDatabase",arguments)}});
-bodavm.toolsFunc.defineProperty(IDBFactory.prototype,"open",{configurable:true, enumerable:true, writable:true, value:function open() {return bodavm.toolsFunc.dispatch(this,IDBFactory.prototype,"IDBFactory","open",arguments)}});
-
-
-// indexedDB对象
-var indexedDB = {}
-indexedDB.__proto__=IDBFactory.prototype;
diff --git a/env_xbb_lastest_cheerio/env/IDBObjectStore.js b/env_xbb_lastest_cheerio/env/IDBObjectStore.js
deleted file mode 100644
index 63ae0d3b..00000000
--- a/env_xbb_lastest_cheerio/env/IDBObjectStore.js
+++ /dev/null
@@ -1,22 +0,0 @@
-// IDBObjectStore对象
-IDBObjectStore = function IDBObjectStore(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(IDBObjectStore, "IDBObjectStore");
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "name_get", arguments)}, set:function name (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "name_set", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "keyPath", {configurable:true, enumerable:true, get:function keyPath (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "keyPath_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "indexNames", {configurable:true, enumerable:true, get:function indexNames (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "indexNames_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "transaction", {configurable:true, enumerable:true, get:function transaction (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "transaction_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "autoIncrement", {configurable:true, enumerable:true, get:function autoIncrement (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "autoIncrement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "add", {configurable:true, enumerable:true, writable:true, value:function add (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "add", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "clear", {configurable:true, enumerable:true, writable:true, value:function clear (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "clear", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "count", {configurable:true, enumerable:true, writable:true, value:function count (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "count", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "createIndex", {configurable:true, enumerable:true, writable:true, value:function createIndex (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "createIndex", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "delete", {configurable:true, enumerable:true, writable:true, value:function (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "delete", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "deleteIndex", {configurable:true, enumerable:true, writable:true, value:function deleteIndex (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "deleteIndex", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "get", {configurable:true, enumerable:true, writable:true, value:function get (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "get", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "getAll", {configurable:true, enumerable:true, writable:true, value:function getAll (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "getAll", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "getAllKeys", {configurable:true, enumerable:true, writable:true, value:function getAllKeys (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "getAllKeys", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "getKey", {configurable:true, enumerable:true, writable:true, value:function getKey (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "getKey", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "index", {configurable:true, enumerable:true, writable:true, value:function index (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "index", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "openCursor", {configurable:true, enumerable:true, writable:true, value:function openCursor (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "openCursor", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "openKeyCursor", {configurable:true, enumerable:true, writable:true, value:function openKeyCursor (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "openKeyCursor", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBObjectStore.prototype, "put", {configurable:true, enumerable:true, writable:true, value:function put (){return bodavm.toolsFunc.dispatch(this, IDBObjectStore.prototype, "IDBObjectStore", "put", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/IDBOpenDBRequest.js b/env_xbb_lastest_cheerio/env/IDBOpenDBRequest.js
deleted file mode 100644
index 5b7f21f1..00000000
--- a/env_xbb_lastest_cheerio/env/IDBOpenDBRequest.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// IDBOpenDBRequest对象
-IDBOpenDBRequest = function IDBOpenDBRequest(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(IDBOpenDBRequest, "IDBOpenDBRequest");
-IDBOpenDBRequest.prototype.__proto__=IDBRequest.prototype;
-IDBOpenDBRequest.__proto__=IDBRequest;
-bodavm.toolsFunc.defineProperty(IDBOpenDBRequest.prototype, "onblocked", {configurable:true, enumerable:true, get:function onblocked (){return bodavm.toolsFunc.dispatch(this, IDBOpenDBRequest.prototype, "IDBOpenDBRequest", "onblocked_get", arguments)}, set:function onblocked (){return bodavm.toolsFunc.dispatch(this, IDBOpenDBRequest.prototype, "IDBOpenDBRequest", "onblocked_set", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBOpenDBRequest.prototype, "onupgradeneeded", {configurable:true, enumerable:true, get:function onupgradeneeded (){return bodavm.toolsFunc.dispatch(this, IDBOpenDBRequest.prototype, "IDBOpenDBRequest", "onupgradeneeded_get", arguments)}, set:function onupgradeneeded (){return bodavm.toolsFunc.dispatch(this, IDBOpenDBRequest.prototype, "IDBOpenDBRequest", "onupgradeneeded_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/IDBRequest.js b/env_xbb_lastest_cheerio/env/IDBRequest.js
deleted file mode 100644
index 1eb1f61a..00000000
--- a/env_xbb_lastest_cheerio/env/IDBRequest.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// IDBRequest对象
-IDBRequest = function IDBRequest(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(IDBRequest, "IDBRequest");
-IDBRequest.prototype.__proto__=EventTarget.prototype;
-IDBRequest.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(IDBRequest.prototype, "result", {configurable:true, enumerable:true, get:function result (){return bodavm.toolsFunc.dispatch(this, IDBRequest.prototype, "IDBRequest", "result_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBRequest.prototype, "error", {configurable:true, enumerable:true, get:function error (){return bodavm.toolsFunc.dispatch(this, IDBRequest.prototype, "IDBRequest", "error_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBRequest.prototype, "source", {configurable:true, enumerable:true, get:function source (){return bodavm.toolsFunc.dispatch(this, IDBRequest.prototype, "IDBRequest", "source_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBRequest.prototype, "transaction", {configurable:true, enumerable:true, get:function transaction (){return bodavm.toolsFunc.dispatch(this, IDBRequest.prototype, "IDBRequest", "transaction_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBRequest.prototype, "readyState", {configurable:true, enumerable:true, get:function readyState (){return bodavm.toolsFunc.dispatch(this, IDBRequest.prototype, "IDBRequest", "readyState_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBRequest.prototype, "onsuccess", {configurable:true, enumerable:true, get:function onsuccess (){return bodavm.toolsFunc.dispatch(this, IDBRequest.prototype, "IDBRequest", "onsuccess_get", arguments)}, set:function onsuccess (){return bodavm.toolsFunc.dispatch(this, IDBRequest.prototype, "IDBRequest", "onsuccess_set", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBRequest.prototype, "onerror", {configurable:true, enumerable:true, get:function onerror (){return bodavm.toolsFunc.dispatch(this, IDBRequest.prototype, "IDBRequest", "onerror_get", arguments)}, set:function onerror (){return bodavm.toolsFunc.dispatch(this, IDBRequest.prototype, "IDBRequest", "onerror_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/IDBTransaction.js b/env_xbb_lastest_cheerio/env/IDBTransaction.js
deleted file mode 100644
index 18f2e909..00000000
--- a/env_xbb_lastest_cheerio/env/IDBTransaction.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// IDBTransaction对象
-IDBTransaction = function IDBTransaction(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(IDBTransaction, "IDBTransaction");
-IDBTransaction.prototype.__proto__=EventTarget.prototype;
-IDBTransaction.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(IDBTransaction.prototype, "objectStoreNames", {configurable:true, enumerable:true, get:function objectStoreNames (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "objectStoreNames_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBTransaction.prototype, "mode", {configurable:true, enumerable:true, get:function mode (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "mode_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBTransaction.prototype, "durability", {configurable:true, enumerable:true, get:function durability (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "durability_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBTransaction.prototype, "db", {configurable:true, enumerable:true, get:function db (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "db_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBTransaction.prototype, "error", {configurable:true, enumerable:true, get:function error (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "error_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBTransaction.prototype, "onabort", {configurable:true, enumerable:true, get:function onabort (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "onabort_get", arguments)}, set:function onabort (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "onabort_set", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBTransaction.prototype, "oncomplete", {configurable:true, enumerable:true, get:function oncomplete (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "oncomplete_get", arguments)}, set:function oncomplete (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "oncomplete_set", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBTransaction.prototype, "onerror", {configurable:true, enumerable:true, get:function onerror (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "onerror_get", arguments)}, set:function onerror (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "onerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBTransaction.prototype, "abort", {configurable:true, enumerable:true, writable:true, value:function abort (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "abort", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBTransaction.prototype, "commit", {configurable:true, enumerable:true, writable:true, value:function commit (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "commit", arguments)}});
-bodavm.toolsFunc.defineProperty(IDBTransaction.prototype, "objectStore", {configurable:true, enumerable:true, writable:true, value:function objectStore (){return bodavm.toolsFunc.dispatch(this, IDBTransaction.prototype, "IDBTransaction", "objectStore", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/IDBVersionChangeEvent.js b/env_xbb_lastest_cheerio/env/IDBVersionChangeEvent.js
deleted file mode 100644
index ded2559a..00000000
--- a/env_xbb_lastest_cheerio/env/IDBVersionChangeEvent.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// IDBVersionChangeEvent对象
-IDBVersionChangeEvent = function IDBVersionChangeEvent(){return bodavm.toolsFunc.throwError("TypeError", "Failed to construct 'IDBVersionChangeEvent': 1 argument required, but only 0 present.")}
-bodavm.toolsFunc.safeProto(IDBVersionChangeEvent, "IDBVersionChangeEvent");
-IDBVersionChangeEvent.prototype.__proto__=Event.prototype;
-IDBVersionChangeEvent.__proto__=Event;
-bodavm.toolsFunc.defineProperty(IDBVersionChangeEvent.prototype, "oldVersion", {configurable:true, enumerable:true, get:function oldVersion (){return bodavm.toolsFunc.dispatch(this, IDBVersionChangeEvent.prototype, "IDBVersionChangeEvent", "oldVersion_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBVersionChangeEvent.prototype, "newVersion", {configurable:true, enumerable:true, get:function newVersion (){return bodavm.toolsFunc.dispatch(this, IDBVersionChangeEvent.prototype, "IDBVersionChangeEvent", "newVersion_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBVersionChangeEvent.prototype, "dataLoss", {configurable:true, enumerable:true, get:function dataLoss (){return bodavm.toolsFunc.dispatch(this, IDBVersionChangeEvent.prototype, "IDBVersionChangeEvent", "dataLoss_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(IDBVersionChangeEvent.prototype, "dataLossMessage", {configurable:true, enumerable:true, get:function dataLossMessage (){return bodavm.toolsFunc.dispatch(this, IDBVersionChangeEvent.prototype, "IDBVersionChangeEvent", "dataLossMessage_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/Location.js b/env_xbb_lastest_cheerio/env/Location.js
deleted file mode 100644
index bcc848ed..00000000
--- a/env_xbb_lastest_cheerio/env/Location.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Location对象
-Location = function Location(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(Location, "Location");
-
-// debugger
-// location对象
-var location = {}
-location.__proto__=Location.prototype;
-bodavm.toolsFunc.defineProperty(location, "valueOf", {configurable:false, enumerable:false, writable:false, value:function valueOf (){return bodavm.toolsFunc.dispatch(this, location, "location", "valueOf", arguments)}});
-bodavm.toolsFunc.defineProperty(location, "ancestorOrigins", {configurable:false, enumerable:true, get:function ancestorOrigins (){return bodavm.toolsFunc.dispatch(this, location, "location", "ancestorOrigins_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(location, "href", {configurable:false, enumerable:true, get:function href (){return bodavm.toolsFunc.dispatch(this, location, "location", "href_get", arguments)}, set:function href (){return bodavm.toolsFunc.dispatch(this, location, "location", "href_set", arguments)}});
-bodavm.toolsFunc.defineProperty(location, "origin", {configurable:false, enumerable:true, get:function origin (){return bodavm.toolsFunc.dispatch(this, location, "location", "origin_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(location, "protocol", {configurable:false, enumerable:true, get:function protocol (){return bodavm.toolsFunc.dispatch(this, location, "location", "protocol_get", arguments)}, set:function protocol (){return bodavm.toolsFunc.dispatch(this, location, "location", "protocol_set", arguments)}});
-bodavm.toolsFunc.defineProperty(location, "host", {configurable:false, enumerable:true, get:function host (){return bodavm.toolsFunc.dispatch(this, location, "location", "host_get", arguments)}, set:function host (){return bodavm.toolsFunc.dispatch(this, location, "location", "host_set", arguments)}});
-bodavm.toolsFunc.defineProperty(location, "hostname", {configurable:false, enumerable:true, get:function hostname (){return bodavm.toolsFunc.dispatch(this, location, "location", "hostname_get", arguments)}, set:function hostname (){return bodavm.toolsFunc.dispatch(this, location, "location", "hostname_set", arguments)}});
-bodavm.toolsFunc.defineProperty(location, "port", {configurable:false, enumerable:true, get:function port (){return bodavm.toolsFunc.dispatch(this, location, "location", "port_get", arguments)}, set:function port (){return bodavm.toolsFunc.dispatch(this, location, "location", "port_set", arguments)}});
-bodavm.toolsFunc.defineProperty(location, "pathname", {configurable:false, enumerable:true, get:function pathname (){return bodavm.toolsFunc.dispatch(this, location, "location", "pathname_get", arguments)}, set:function pathname (){return bodavm.toolsFunc.dispatch(this, location, "location", "pathname_set", arguments)}});
-bodavm.toolsFunc.defineProperty(location, "search", {configurable:false, enumerable:true, get:function search (){return bodavm.toolsFunc.dispatch(this, location, "location", "search_get", arguments)}, set:function search (){return bodavm.toolsFunc.dispatch(this, location, "location", "search_set", arguments)}});
-bodavm.toolsFunc.defineProperty(location, "hash", {configurable:false, enumerable:true, get:function hash (){return bodavm.toolsFunc.dispatch(this, location, "location", "hash_get", arguments)}, set:function hash (){return bodavm.toolsFunc.dispatch(this, location, "location", "hash_set", arguments)}});
-bodavm.toolsFunc.defineProperty(location, "assign", {configurable:false, enumerable:true, writable:false, value:function assign (){return bodavm.toolsFunc.dispatch(this, location, "location", "assign", arguments)}});
-bodavm.toolsFunc.defineProperty(location, "reload", {configurable:false, enumerable:true, writable:false, value:function reload (){return bodavm.toolsFunc.dispatch(this, location, "location", "reload", arguments)}});
-bodavm.toolsFunc.defineProperty(location, "replace", {configurable:false, enumerable:true, writable:false, value:function replace (){return bodavm.toolsFunc.dispatch(this, location, "location", "replace", arguments)}});
-bodavm.toolsFunc.defineProperty(location, "toString", {configurable:false, enumerable:true, writable:false, value:function toString (){return bodavm.toolsFunc.dispatch(this, location, "location", "toString", arguments)}});
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/env/MediaEncryptedEvent.js b/env_xbb_lastest_cheerio/env/MediaEncryptedEvent.js
deleted file mode 100644
index 21b3511e..00000000
--- a/env_xbb_lastest_cheerio/env/MediaEncryptedEvent.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// MediaEncryptedEvent对象
-MediaEncryptedEvent = function MediaEncryptedEvent(){return bodavm.toolsFunc.throwError("TypeError", "Failed to construct 'MediaEncryptedEvent': 1 argument required, but only 0 present.")}
-bodavm.toolsFunc.safeProto(MediaEncryptedEvent, "MediaEncryptedEvent");
-MediaEncryptedEvent.prototype.__proto__=Event.prototype;
-MediaEncryptedEvent.__proto__=Event;
-bodavm.toolsFunc.defineProperty(MediaEncryptedEvent.prototype, "initDataType", {configurable:true, enumerable:true, get:function initDataType (){return bodavm.toolsFunc.dispatch(this, MediaEncryptedEvent.prototype, "MediaEncryptedEvent", "initDataType_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(MediaEncryptedEvent.prototype, "initData", {configurable:true, enumerable:true, get:function initData (){return bodavm.toolsFunc.dispatch(this, MediaEncryptedEvent.prototype, "MediaEncryptedEvent", "initData_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/MediaQueryList.js b/env_xbb_lastest_cheerio/env/MediaQueryList.js
deleted file mode 100644
index 8f98b547..00000000
--- a/env_xbb_lastest_cheerio/env/MediaQueryList.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// MediaQueryList对象
-MediaQueryList = function MediaQueryList(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(MediaQueryList, "MediaQueryList");
-MediaQueryList.prototype.__proto__=EventTarget.prototype;
-MediaQueryList.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(MediaQueryList.prototype, "media", {configurable:true, enumerable:true, get:function media (){return bodavm.toolsFunc.dispatch(this, MediaQueryList.prototype, "MediaQueryList", "media_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(MediaQueryList.prototype, "matches", {configurable:true, enumerable:true, get:function matches (){return bodavm.toolsFunc.dispatch(this, MediaQueryList.prototype, "MediaQueryList", "matches_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(MediaQueryList.prototype, "onchange", {configurable:true, enumerable:true, get:function onchange (){return bodavm.toolsFunc.dispatch(this, MediaQueryList.prototype, "MediaQueryList", "onchange_get", arguments)}, set:function onchange (){return bodavm.toolsFunc.dispatch(this, MediaQueryList.prototype, "MediaQueryList", "onchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(MediaQueryList.prototype, "addListener", {configurable:true, enumerable:true, writable:true, value:function addListener (){return bodavm.toolsFunc.dispatch(this, MediaQueryList.prototype, "MediaQueryList", "addListener", arguments)}});
-bodavm.toolsFunc.defineProperty(MediaQueryList.prototype, "removeListener", {configurable:true, enumerable:true, writable:true, value:function removeListener (){return bodavm.toolsFunc.dispatch(this, MediaQueryList.prototype, "MediaQueryList", "removeListener", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/MediaStream.js b/env_xbb_lastest_cheerio/env/MediaStream.js
deleted file mode 100644
index 232ff0dc..00000000
--- a/env_xbb_lastest_cheerio/env/MediaStream.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// MediaStream对象
-MediaStream = function MediaStream(){}
-bodavm.toolsFunc.safeProto(MediaStream, "MediaStream");
-MediaStream.prototype.__proto__=EventTarget.prototype;
-MediaStream.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(MediaStream.prototype, "id", {configurable:true, enumerable:true, get:function id (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "id_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(MediaStream.prototype, "active", {configurable:true, enumerable:true, get:function active (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "active_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(MediaStream.prototype, "onaddtrack", {configurable:true, enumerable:true, get:function onaddtrack (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "onaddtrack_get", arguments)}, set:function onaddtrack (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "onaddtrack_set", arguments)}});
-bodavm.toolsFunc.defineProperty(MediaStream.prototype, "onremovetrack", {configurable:true, enumerable:true, get:function onremovetrack (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "onremovetrack_get", arguments)}, set:function onremovetrack (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "onremovetrack_set", arguments)}});
-bodavm.toolsFunc.defineProperty(MediaStream.prototype, "onactive", {configurable:true, enumerable:true, get:function onactive (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "onactive_get", arguments)}, set:function onactive (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "onactive_set", arguments)}});
-bodavm.toolsFunc.defineProperty(MediaStream.prototype, "oninactive", {configurable:true, enumerable:true, get:function oninactive (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "oninactive_get", arguments)}, set:function oninactive (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "oninactive_set", arguments)}});
-bodavm.toolsFunc.defineProperty(MediaStream.prototype, "addTrack", {configurable:true, enumerable:true, writable:true, value:function addTrack (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "addTrack", arguments)}});
-bodavm.toolsFunc.defineProperty(MediaStream.prototype, "clone", {configurable:true, enumerable:true, writable:true, value:function clone (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "clone", arguments)}});
-bodavm.toolsFunc.defineProperty(MediaStream.prototype, "getAudioTracks", {configurable:true, enumerable:true, writable:true, value:function getAudioTracks (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "getAudioTracks", arguments)}});
-bodavm.toolsFunc.defineProperty(MediaStream.prototype, "getTrackById", {configurable:true, enumerable:true, writable:true, value:function getTrackById (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "getTrackById", arguments)}});
-bodavm.toolsFunc.defineProperty(MediaStream.prototype, "getTracks", {configurable:true, enumerable:true, writable:true, value:function getTracks (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "getTracks", arguments)}});
-bodavm.toolsFunc.defineProperty(MediaStream.prototype, "getVideoTracks", {configurable:true, enumerable:true, writable:true, value:function getVideoTracks (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "getVideoTracks", arguments)}});
-bodavm.toolsFunc.defineProperty(MediaStream.prototype, "removeTrack", {configurable:true, enumerable:true, writable:true, value:function removeTrack (){return bodavm.toolsFunc.dispatch(this, MediaStream.prototype, "MediaStream", "removeTrack", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/MimeType.js b/env_xbb_lastest_cheerio/env/MimeType.js
deleted file mode 100644
index 10414987..00000000
--- a/env_xbb_lastest_cheerio/env/MimeType.js
+++ /dev/null
@@ -1,7 +0,0 @@
-//MimeType对象
-MimeType=function MimeType(){return bodavm.toolsFunc.throwError("TypeError","Illegal constructor")}
-bodavm.toolsFunc.safeProto(MimeType,"MimeType");
-bodavm.toolsFunc.defineProperty(MimeType.prototype,"type",{configurable:true, enumerable:true, get:function type () {return bodavm.toolsFunc.dispatch(this,MimeType.prototype,"MimeType","type_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(MimeType.prototype,"suffixes",{configurable:true, enumerable:true, get:function suffixes () {return bodavm.toolsFunc.dispatch(this,MimeType.prototype,"MimeType","suffixes_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(MimeType.prototype,"description",{configurable:true, enumerable:true, get:function description () {return bodavm.toolsFunc.dispatch(this,MimeType.prototype,"MimeType","description_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(MimeType.prototype,"enabledPlugin",{configurable:true, enumerable:true, get:function enabledPlugin () {return bodavm.toolsFunc.dispatch(this,MimeType.prototype,"MimeType","enabledPlugin_get",arguments)},set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/MimeTypeArray.js b/env_xbb_lastest_cheerio/env/MimeTypeArray.js
deleted file mode 100644
index 0071668f..00000000
--- a/env_xbb_lastest_cheerio/env/MimeTypeArray.js
+++ /dev/null
@@ -1,6 +0,0 @@
-//MimeTypeArray对象
-MimeTypeArray=function MimeTypeArray(){return bodavm.toolsFunc.throwError("TypeError","Illegal constructor")}
-bodavm.toolsFunc.safeProto(MimeTypeArray,"MimeTypeArray");
-bodavm.toolsFunc.defineProperty(MimeTypeArray.prototype,"length",{configurable:true, enumerable:true, get:function length () {return bodavm.toolsFunc.dispatch(this,MimeTypeArray.prototype,"MimeTypeArray","length_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(MimeTypeArray.prototype,"item",{configurable:true, enumerable:true, writable:true, value:function item() {return bodavm.toolsFunc.dispatch(this,MimeTypeArray.prototype,"MimeTypeArray","item",arguments)}});
-bodavm.toolsFunc.defineProperty(MimeTypeArray.prototype,"namedItem",{configurable:true, enumerable:true, writable:true, value:function namedItem() {return bodavm.toolsFunc.dispatch(this,MimeTypeArray.prototype,"MimeTypeArray","namedItem",arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/MouseEvent.js b/env_xbb_lastest_cheerio/env/MouseEvent.js
deleted file mode 100644
index 2f08e2ff..00000000
--- a/env_xbb_lastest_cheerio/env/MouseEvent.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// MouseEvent对象
-MouseEvent = function MouseEvent() {
-
- if (arguments.length < 1) {
-
- return bodavm.toolsFunc.throwError("TypeError", "Failed to construct 'MouseEvent': 1 argument required, but only 0 present.")
- }
-}
-bodavm.toolsFunc.safeProto(MouseEvent, "MouseEvent");
-MouseEvent.prototype.__proto__ = UIEvent.prototype;
-MouseEvent.__proto__ = UIEvent;
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "screenX", { configurable: true, enumerable: true, get: function screenX() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "screenX_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "screenY", { configurable: true, enumerable: true, get: function screenY() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "screenY_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "clientX", { configurable: true, enumerable: true, get: function clientX() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "clientX_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "clientY", { configurable: true, enumerable: true, get: function clientY() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "clientY_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "ctrlKey", { configurable: true, enumerable: true, get: function ctrlKey() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "ctrlKey_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "shiftKey", { configurable: true, enumerable: true, get: function shiftKey() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "shiftKey_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "altKey", { configurable: true, enumerable: true, get: function altKey() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "altKey_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "metaKey", { configurable: true, enumerable: true, get: function metaKey() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "metaKey_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "button", { configurable: true, enumerable: true, get: function button() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "button_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "buttons", { configurable: true, enumerable: true, get: function buttons() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "buttons_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "relatedTarget", { configurable: true, enumerable: true, get: function relatedTarget() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "relatedTarget_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "pageX", { configurable: true, enumerable: true, get: function pageX() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "pageX_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "pageY", { configurable: true, enumerable: true, get: function pageY() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "pageY_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "x", { configurable: true, enumerable: true, get: function x() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "x_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "y", { configurable: true, enumerable: true, get: function y() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "y_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "offsetX", { configurable: true, enumerable: true, get: function offsetX() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "offsetX_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "offsetY", { configurable: true, enumerable: true, get: function offsetY() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "offsetY_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "movementX", { configurable: true, enumerable: true, get: function movementX() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "movementX_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "movementY", { configurable: true, enumerable: true, get: function movementY() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "movementY_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "fromElement", { configurable: true, enumerable: true, get: function fromElement() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "fromElement_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "toElement", { configurable: true, enumerable: true, get: function toElement() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "toElement_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "layerX", { configurable: true, enumerable: true, get: function layerX() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "layerX_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "layerY", { configurable: true, enumerable: true, get: function layerY() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "layerY_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "getModifierState", { configurable: true, enumerable: true, writable: true, value: function getModifierState() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "getModifierState", arguments) } });
-bodavm.toolsFunc.defineProperty(MouseEvent.prototype, "initMouseEvent", { configurable: true, enumerable: true, writable: true, value: function initMouseEvent() { return bodavm.toolsFunc.dispatch(this, MouseEvent.prototype, "MouseEvent", "initMouseEvent", arguments) } });
diff --git a/env_xbb_lastest_cheerio/env/MutationObserver.js b/env_xbb_lastest_cheerio/env/MutationObserver.js
deleted file mode 100644
index e7c50ba6..00000000
--- a/env_xbb_lastest_cheerio/env/MutationObserver.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// MutationObserver对象
-MutationObserver = function MutationObserver(){
-
- if(arguments.length <1){
- return bodavm.toolsFunc.throwError("TypeError", "Failed to construct 'MutationObserver': 1 argument required, but only 0 present.")}
-
- }
-bodavm.toolsFunc.safeProto(MutationObserver, "MutationObserver");
-bodavm.toolsFunc.defineProperty(MutationObserver.prototype, "disconnect", {configurable:true, enumerable:true, writable:true, value:function disconnect (){return bodavm.toolsFunc.dispatch(this, MutationObserver.prototype, "MutationObserver", "disconnect", arguments)}});
-bodavm.toolsFunc.defineProperty(MutationObserver.prototype, "observe", {configurable:true, enumerable:true, writable:true, value:function observe (){return bodavm.toolsFunc.dispatch(this, MutationObserver.prototype, "MutationObserver", "observe", arguments)}});
-bodavm.toolsFunc.defineProperty(MutationObserver.prototype, "takeRecords", {configurable:true, enumerable:true, writable:true, value:function takeRecords (){return bodavm.toolsFunc.dispatch(this, MutationObserver.prototype, "MutationObserver", "takeRecords", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/NamedNodeMap.js b/env_xbb_lastest_cheerio/env/NamedNodeMap.js
deleted file mode 100644
index 8616dfdf..00000000
--- a/env_xbb_lastest_cheerio/env/NamedNodeMap.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// NamedNodeMap对象
-NamedNodeMap = function NamedNodeMap(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(NamedNodeMap, "NamedNodeMap");
-bodavm.toolsFunc.defineProperty(NamedNodeMap.prototype, "length", {configurable:true, enumerable:true, get:function length (){return bodavm.toolsFunc.dispatch(this, NamedNodeMap.prototype, "NamedNodeMap", "length_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(NamedNodeMap.prototype, "getNamedItem", {configurable:true, enumerable:true, writable:true, value:function getNamedItem (){return bodavm.toolsFunc.dispatch(this, NamedNodeMap.prototype, "NamedNodeMap", "getNamedItem", arguments)}});
-bodavm.toolsFunc.defineProperty(NamedNodeMap.prototype, "getNamedItemNS", {configurable:true, enumerable:true, writable:true, value:function getNamedItemNS (){return bodavm.toolsFunc.dispatch(this, NamedNodeMap.prototype, "NamedNodeMap", "getNamedItemNS", arguments)}});
-bodavm.toolsFunc.defineProperty(NamedNodeMap.prototype, "item", {configurable:true, enumerable:true, writable:true, value:function item (){return bodavm.toolsFunc.dispatch(this, NamedNodeMap.prototype, "NamedNodeMap", "item", arguments)}});
-bodavm.toolsFunc.defineProperty(NamedNodeMap.prototype, "removeNamedItem", {configurable:true, enumerable:true, writable:true, value:function removeNamedItem (){return bodavm.toolsFunc.dispatch(this, NamedNodeMap.prototype, "NamedNodeMap", "removeNamedItem", arguments)}});
-bodavm.toolsFunc.defineProperty(NamedNodeMap.prototype, "removeNamedItemNS", {configurable:true, enumerable:true, writable:true, value:function removeNamedItemNS (){return bodavm.toolsFunc.dispatch(this, NamedNodeMap.prototype, "NamedNodeMap", "removeNamedItemNS", arguments)}});
-bodavm.toolsFunc.defineProperty(NamedNodeMap.prototype, "setNamedItem", {configurable:true, enumerable:true, writable:true, value:function setNamedItem (){return bodavm.toolsFunc.dispatch(this, NamedNodeMap.prototype, "NamedNodeMap", "setNamedItem", arguments)}});
-bodavm.toolsFunc.defineProperty(NamedNodeMap.prototype, "setNamedItemNS", {configurable:true, enumerable:true, writable:true, value:function setNamedItemNS (){return bodavm.toolsFunc.dispatch(this, NamedNodeMap.prototype, "NamedNodeMap", "setNamedItemNS", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/Navigation.js b/env_xbb_lastest_cheerio/env/Navigation.js
deleted file mode 100644
index bbd18c06..00000000
--- a/env_xbb_lastest_cheerio/env/Navigation.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Navigation对象
-Navigation = function Navigation(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(Navigation, "Navigation");
-Navigation.prototype.__proto__=EventTarget.prototype;
-Navigation.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "currentEntry", {configurable:true, enumerable:true, get:function currentEntry (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "currentEntry_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "transition", {configurable:true, enumerable:true, get:function transition (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "transition_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "canGoBack", {configurable:true, enumerable:true, get:function canGoBack (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "canGoBack_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "canGoForward", {configurable:true, enumerable:true, get:function canGoForward (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "canGoForward_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "onnavigate", {configurable:true, enumerable:true, get:function onnavigate (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "onnavigate_get", arguments)}, set:function onnavigate (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "onnavigate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "onnavigatesuccess", {configurable:true, enumerable:true, get:function onnavigatesuccess (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "onnavigatesuccess_get", arguments)}, set:function onnavigatesuccess (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "onnavigatesuccess_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "onnavigateerror", {configurable:true, enumerable:true, get:function onnavigateerror (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "onnavigateerror_get", arguments)}, set:function onnavigateerror (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "onnavigateerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "oncurrententrychange", {configurable:true, enumerable:true, get:function oncurrententrychange (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "oncurrententrychange_get", arguments)}, set:function oncurrententrychange (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "oncurrententrychange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "back", {configurable:true, enumerable:true, writable:true, value:function back (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "back", arguments)}});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "entries", {configurable:true, enumerable:true, writable:true, value:function entries (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "entries", arguments)}});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "forward", {configurable:true, enumerable:true, writable:true, value:function forward (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "forward", arguments)}});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "navigate", {configurable:true, enumerable:true, writable:true, value:function navigate (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "navigate", arguments)}});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "reload", {configurable:true, enumerable:true, writable:true, value:function reload (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "reload", arguments)}});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "traverseTo", {configurable:true, enumerable:true, writable:true, value:function traverseTo (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "traverseTo", arguments)}});
-bodavm.toolsFunc.defineProperty(Navigation.prototype, "updateCurrentEntry", {configurable:true, enumerable:true, writable:true, value:function updateCurrentEntry (){return bodavm.toolsFunc.dispatch(this, Navigation.prototype, "Navigation", "updateCurrentEntry", arguments)}});
-var navigation={}
-navigation.__proto__=Navigation.prototype
-
diff --git a/env_xbb_lastest_cheerio/env/Navigator.js b/env_xbb_lastest_cheerio/env/Navigator.js
deleted file mode 100644
index 12310c5c..00000000
--- a/env_xbb_lastest_cheerio/env/Navigator.js
+++ /dev/null
@@ -1,75 +0,0 @@
-//Navigator对象
-Navigator=function Navigator(){return bodavm.toolsFunc.throwError("TypeError","Illegal constructor")}
-bodavm.toolsFunc.safeProto(Navigator,"Navigator");
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"vendorSub",{configurable:true, enumerable:true, get:function vendorSub () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","vendorSub_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"productSub",{configurable:true, enumerable:true, get:function productSub () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","productSub_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"vendor",{configurable:true, enumerable:true, get:function vendor () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","vendor_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"maxTouchPoints",{configurable:true, enumerable:true, get:function maxTouchPoints () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","maxTouchPoints_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"userActivation",{configurable:true, enumerable:true, get:function userActivation () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","userActivation_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"doNotTrack",{configurable:true, enumerable:true, get:function doNotTrack () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","doNotTrack_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"geolocation",{configurable:true, enumerable:true, get:function geolocation () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","geolocation_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"connection",{configurable:true, enumerable:true, get:function connection () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","connection_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"plugins",{configurable:true, enumerable:true, get:function plugins () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","plugins_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"mimeTypes",{configurable:true, enumerable:true, get:function mimeTypes () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","mimeTypes_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"pdfViewerEnabled",{configurable:true, enumerable:true, get:function pdfViewerEnabled () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","pdfViewerEnabled_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"webkitTemporaryStorage",{configurable:true, enumerable:true, get:function webkitTemporaryStorage () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","webkitTemporaryStorage_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"webkitPersistentStorage",{configurable:true, enumerable:true, get:function webkitPersistentStorage () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","webkitPersistentStorage_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"hardwareConcurrency",{configurable:true, enumerable:true, get:function hardwareConcurrency () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","hardwareConcurrency_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"cookieEnabled",{configurable:true, enumerable:true, get:function cookieEnabled () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","cookieEnabled_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"appCodeName",{configurable:true, enumerable:true, get:function appCodeName () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","appCodeName_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"appName",{configurable:true, enumerable:true, get:function appName () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","appName_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"appVersion",{configurable:true, enumerable:true, get:function appVersion () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","appVersion_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"platform",{configurable:true, enumerable:true, get:function platform () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","platform_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"product",{configurable:true, enumerable:true, get:function product () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","product_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"userAgent",{configurable:true, enumerable:true, get:function userAgent () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","userAgent_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"language",{configurable:true, enumerable:true, get:function language () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","language_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"languages",{configurable:true, enumerable:true, get:function languages () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","languages_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"onLine",{configurable:true, enumerable:true, get:function onLine () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","onLine_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"webdriver",{configurable:true, enumerable:true, get:function webdriver () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","webdriver_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"getBattery",{configurable:true, enumerable:true, writable:true, value:function getBattery() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","getBattery",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"getGamepads",{configurable:true, enumerable:true, writable:true, value:function getGamepads() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","getGamepads",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"javaEnabled",{configurable:true, enumerable:true, writable:true, value:function javaEnabled() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","javaEnabled",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"sendBeacon",{configurable:true, enumerable:true, writable:true, value:function sendBeacon() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","sendBeacon",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"vibrate",{configurable:true, enumerable:true, writable:true, value:function vibrate() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","vibrate",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"scheduling",{configurable:true, enumerable:true, get:function scheduling () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","scheduling_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"bluetooth",{configurable:true, enumerable:true, get:function bluetooth () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","bluetooth_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"clipboard",{configurable:true, enumerable:true, get:function clipboard () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","clipboard_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"credentials",{configurable:true, enumerable:true, get:function credentials () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","credentials_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"keyboard",{configurable:true, enumerable:true, get:function keyboard () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","keyboard_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"managed",{configurable:true, enumerable:true, get:function managed () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","managed_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"mediaDevices",{configurable:true, enumerable:true, get:function mediaDevices () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","mediaDevices_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"storage",{configurable:true, enumerable:true, get:function storage () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","storage_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"serviceWorker",{configurable:true, enumerable:true, get:function serviceWorker () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","serviceWorker_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"wakeLock",{configurable:true, enumerable:true, get:function wakeLock () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","wakeLock_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"deviceMemory",{configurable:true, enumerable:true, get:function deviceMemory () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","deviceMemory_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"ink",{configurable:true, enumerable:true, get:function ink () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","ink_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"hid",{configurable:true, enumerable:true, get:function hid () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","hid_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"locks",{configurable:true, enumerable:true, get:function locks () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","locks_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"mediaCapabilities",{configurable:true, enumerable:true, get:function mediaCapabilities () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","mediaCapabilities_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"mediaSession",{configurable:true, enumerable:true, get:function mediaSession () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","mediaSession_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"permissions",{configurable:true, enumerable:true, get:function permissions () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","permissions_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"presentation",{configurable:true, enumerable:true, get:function presentation () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","presentation_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"serial",{configurable:true, enumerable:true, get:function serial () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","serial_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"virtualKeyboard",{configurable:true, enumerable:true, get:function virtualKeyboard () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","virtualKeyboard_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"usb",{configurable:true, enumerable:true, get:function usb () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","usb_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"xr",{configurable:true, enumerable:true, get:function xr () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","xr_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"userAgentData",{configurable:true, enumerable:true, get:function userAgentData () {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","userAgentData_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"canShare",{configurable:true, enumerable:true, writable:true, value:function canShare() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","canShare",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"share",{configurable:true, enumerable:true, writable:true, value:function share() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","share",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"clearAppBadge",{configurable:true, enumerable:true, writable:true, value:function clearAppBadge() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","clearAppBadge",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"setAppBadge",{configurable:true, enumerable:true, writable:true, value:function setAppBadge() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","setAppBadge",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"getInstalledRelatedApps",{configurable:true, enumerable:true, writable:true, value:function getInstalledRelatedApps() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","getInstalledRelatedApps",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"getUserMedia",{configurable:true, enumerable:true, writable:true, value:function getUserMedia() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","getUserMedia",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"requestMIDIAccess",{configurable:true, enumerable:true, writable:true, value:function requestMIDIAccess() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","requestMIDIAccess",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"requestMediaKeySystemAccess",{configurable:true, enumerable:true, writable:true, value:function requestMediaKeySystemAccess() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","requestMediaKeySystemAccess",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"webkitGetUserMedia",{configurable:true, enumerable:true, writable:true, value:function webkitGetUserMedia() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","webkitGetUserMedia",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"registerProtocolHandler",{configurable:true, enumerable:true, writable:true, value:function registerProtocolHandler() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","registerProtocolHandler",arguments)}});
-bodavm.toolsFunc.defineProperty(Navigator.prototype,"unregisterProtocolHandler",{configurable:true, enumerable:true, writable:true, value:function unregisterProtocolHandler() {return bodavm.toolsFunc.dispatch(this,Navigator.prototype,"Navigator","unregisterProtocolHandler",arguments)}});
-
-
-// navigator对象
-var navigator = {}
-navigator.__proto__=Navigator.prototype;
-// clientInformation对象
-var clientInformation = {}
-clientInformation.__proto__=Navigator.prototype;
diff --git a/env_xbb_lastest_cheerio/env/NetworkInformation.js b/env_xbb_lastest_cheerio/env/NetworkInformation.js
deleted file mode 100644
index 534609c7..00000000
--- a/env_xbb_lastest_cheerio/env/NetworkInformation.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// NetworkInformation对象
-NetworkInformation = function NetworkInformation(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(NetworkInformation, "NetworkInformation");
-NetworkInformation.prototype.__proto__=EventTarget.prototype;
-NetworkInformation.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(NetworkInformation.prototype, "onchange", {configurable:true, enumerable:true, get:function onchange (){return bodavm.toolsFunc.dispatch(this, NetworkInformation.prototype, "NetworkInformation", "onchange_get", arguments)}, set:function onchange (){return bodavm.toolsFunc.dispatch(this, NetworkInformation.prototype, "NetworkInformation", "onchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(NetworkInformation.prototype, "effectiveType", {configurable:true, enumerable:true, get:function effectiveType (){return bodavm.toolsFunc.dispatch(this, NetworkInformation.prototype, "NetworkInformation", "effectiveType_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(NetworkInformation.prototype, "rtt", {configurable:true, enumerable:true, get:function rtt (){return bodavm.toolsFunc.dispatch(this, NetworkInformation.prototype, "NetworkInformation", "rtt_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(NetworkInformation.prototype, "downlink", {configurable:true, enumerable:true, get:function downlink (){return bodavm.toolsFunc.dispatch(this, NetworkInformation.prototype, "NetworkInformation", "downlink_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(NetworkInformation.prototype, "saveData", {configurable:true, enumerable:true, get:function saveData (){return bodavm.toolsFunc.dispatch(this, NetworkInformation.prototype, "NetworkInformation", "saveData_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/Node.js b/env_xbb_lastest_cheerio/env/Node.js
deleted file mode 100644
index d32a7ca6..00000000
--- a/env_xbb_lastest_cheerio/env/Node.js
+++ /dev/null
@@ -1,71 +0,0 @@
-// Node对象
-Node = function Node(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(Node, "Node");
-Node.prototype.__proto__=EventTarget.prototype;
-Node.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(Node, "ELEMENT_NODE", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(Node, "ATTRIBUTE_NODE", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(Node, "TEXT_NODE", {configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(Node, "CDATA_SECTION_NODE", {configurable:false, enumerable:true, writable:false, value:4});
-bodavm.toolsFunc.defineProperty(Node, "ENTITY_REFERENCE_NODE", {configurable:false, enumerable:true, writable:false, value:5});
-bodavm.toolsFunc.defineProperty(Node, "ENTITY_NODE", {configurable:false, enumerable:true, writable:false, value:6});
-bodavm.toolsFunc.defineProperty(Node, "PROCESSING_INSTRUCTION_NODE", {configurable:false, enumerable:true, writable:false, value:7});
-bodavm.toolsFunc.defineProperty(Node, "COMMENT_NODE", {configurable:false, enumerable:true, writable:false, value:8});
-bodavm.toolsFunc.defineProperty(Node, "DOCUMENT_NODE", {configurable:false, enumerable:true, writable:false, value:9});
-bodavm.toolsFunc.defineProperty(Node, "DOCUMENT_TYPE_NODE", {configurable:false, enumerable:true, writable:false, value:10});
-bodavm.toolsFunc.defineProperty(Node, "DOCUMENT_FRAGMENT_NODE", {configurable:false, enumerable:true, writable:false, value:11});
-bodavm.toolsFunc.defineProperty(Node, "NOTATION_NODE", {configurable:false, enumerable:true, writable:false, value:12});
-bodavm.toolsFunc.defineProperty(Node, "DOCUMENT_POSITION_DISCONNECTED", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(Node, "DOCUMENT_POSITION_PRECEDING", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(Node, "DOCUMENT_POSITION_FOLLOWING", {configurable:false, enumerable:true, writable:false, value:4});
-bodavm.toolsFunc.defineProperty(Node, "DOCUMENT_POSITION_CONTAINS", {configurable:false, enumerable:true, writable:false, value:8});
-bodavm.toolsFunc.defineProperty(Node, "DOCUMENT_POSITION_CONTAINED_BY", {configurable:false, enumerable:true, writable:false, value:16});
-bodavm.toolsFunc.defineProperty(Node, "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC", {configurable:false, enumerable:true, writable:false, value:32});
-bodavm.toolsFunc.defineProperty(Node.prototype, "nodeType", {configurable:true, enumerable:true, get:function nodeType (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "nodeType_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Node.prototype, "nodeName", {configurable:true, enumerable:true, get:function nodeName (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "nodeName_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Node.prototype, "baseURI", {configurable:true, enumerable:true, get:function baseURI (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "baseURI_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Node.prototype, "isConnected", {configurable:true, enumerable:true, get:function isConnected (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "isConnected_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Node.prototype, "ownerDocument", {configurable:true, enumerable:true, get:function ownerDocument (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "ownerDocument_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Node.prototype, "parentNode", {configurable:true, enumerable:true, get:function parentNode (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "parentNode_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Node.prototype, "parentElement", {configurable:true, enumerable:true, get:function parentElement (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "parentElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Node.prototype, "childNodes", {configurable:true, enumerable:true, get:function childNodes (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "childNodes_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Node.prototype, "firstChild", {configurable:true, enumerable:true, get:function firstChild (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "firstChild_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Node.prototype, "lastChild", {configurable:true, enumerable:true, get:function lastChild (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "lastChild_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Node.prototype, "previousSibling", {configurable:true, enumerable:true, get:function previousSibling (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "previousSibling_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Node.prototype, "nextSibling", {configurable:true, enumerable:true, get:function nextSibling (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "nextSibling_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Node.prototype, "nodeValue", {configurable:true, enumerable:true, get:function nodeValue (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "nodeValue_get", arguments)}, set:function nodeValue (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "nodeValue_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "textContent", {configurable:true, enumerable:true, get:function textContent (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "textContent_get", arguments)}, set:function textContent (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "textContent_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "ELEMENT_NODE", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(Node.prototype, "ATTRIBUTE_NODE", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(Node.prototype, "TEXT_NODE", {configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(Node.prototype, "CDATA_SECTION_NODE", {configurable:false, enumerable:true, writable:false, value:4});
-bodavm.toolsFunc.defineProperty(Node.prototype, "ENTITY_REFERENCE_NODE", {configurable:false, enumerable:true, writable:false, value:5});
-bodavm.toolsFunc.defineProperty(Node.prototype, "ENTITY_NODE", {configurable:false, enumerable:true, writable:false, value:6});
-bodavm.toolsFunc.defineProperty(Node.prototype, "PROCESSING_INSTRUCTION_NODE", {configurable:false, enumerable:true, writable:false, value:7});
-bodavm.toolsFunc.defineProperty(Node.prototype, "COMMENT_NODE", {configurable:false, enumerable:true, writable:false, value:8});
-bodavm.toolsFunc.defineProperty(Node.prototype, "DOCUMENT_NODE", {configurable:false, enumerable:true, writable:false, value:9});
-bodavm.toolsFunc.defineProperty(Node.prototype, "DOCUMENT_TYPE_NODE", {configurable:false, enumerable:true, writable:false, value:10});
-bodavm.toolsFunc.defineProperty(Node.prototype, "DOCUMENT_FRAGMENT_NODE", {configurable:false, enumerable:true, writable:false, value:11});
-bodavm.toolsFunc.defineProperty(Node.prototype, "NOTATION_NODE", {configurable:false, enumerable:true, writable:false, value:12});
-bodavm.toolsFunc.defineProperty(Node.prototype, "DOCUMENT_POSITION_DISCONNECTED", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(Node.prototype, "DOCUMENT_POSITION_PRECEDING", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(Node.prototype, "DOCUMENT_POSITION_FOLLOWING", {configurable:false, enumerable:true, writable:false, value:4});
-bodavm.toolsFunc.defineProperty(Node.prototype, "DOCUMENT_POSITION_CONTAINS", {configurable:false, enumerable:true, writable:false, value:8});
-bodavm.toolsFunc.defineProperty(Node.prototype, "DOCUMENT_POSITION_CONTAINED_BY", {configurable:false, enumerable:true, writable:false, value:16});
-bodavm.toolsFunc.defineProperty(Node.prototype, "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC", {configurable:false, enumerable:true, writable:false, value:32});
-bodavm.toolsFunc.defineProperty(Node.prototype, "appendChild", {configurable:true, enumerable:true, writable:true, value:function appendChild (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "appendChild", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "cloneNode", {configurable:true, enumerable:true, writable:true, value:function cloneNode (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "cloneNode", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "compareDocumentPosition", {configurable:true, enumerable:true, writable:true, value:function compareDocumentPosition (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "compareDocumentPosition", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "contains", {configurable:true, enumerable:true, writable:true, value:function contains (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "contains", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "getRootNode", {configurable:true, enumerable:true, writable:true, value:function getRootNode (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "getRootNode", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "hasChildNodes", {configurable:true, enumerable:true, writable:true, value:function hasChildNodes (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "hasChildNodes", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "insertBefore", {configurable:true, enumerable:true, writable:true, value:function insertBefore (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "insertBefore", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "isDefaultNamespace", {configurable:true, enumerable:true, writable:true, value:function isDefaultNamespace (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "isDefaultNamespace", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "isEqualNode", {configurable:true, enumerable:true, writable:true, value:function isEqualNode (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "isEqualNode", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "isSameNode", {configurable:true, enumerable:true, writable:true, value:function isSameNode (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "isSameNode", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "lookupNamespaceURI", {configurable:true, enumerable:true, writable:true, value:function lookupNamespaceURI (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "lookupNamespaceURI", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "lookupPrefix", {configurable:true, enumerable:true, writable:true, value:function lookupPrefix (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "lookupPrefix", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "normalize", {configurable:true, enumerable:true, writable:true, value:function normalize (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "normalize", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "removeChild", {configurable:true, enumerable:true, writable:true, value:function removeChild (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "removeChild", arguments)}});
-bodavm.toolsFunc.defineProperty(Node.prototype, "replaceChild", {configurable:true, enumerable:true, writable:true, value:function replaceChild (){return bodavm.toolsFunc.dispatch(this, Node.prototype, "Node", "replaceChild", arguments)}});
-
diff --git a/env_xbb_lastest_cheerio/env/NodeList.js b/env_xbb_lastest_cheerio/env/NodeList.js
deleted file mode 100644
index ba65557d..00000000
--- a/env_xbb_lastest_cheerio/env/NodeList.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// NodeList对象
-NodeList = function NodeList(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(NodeList, "NodeList");
-bodavm.toolsFunc.defineProperty(NodeList.prototype, "entries", {configurable:true, enumerable:true, writable:true, value:function entries (){return bodavm.toolsFunc.dispatch(this, NodeList.prototype, "NodeList", "entries", arguments)}});
-bodavm.toolsFunc.defineProperty(NodeList.prototype, "keys", {configurable:true, enumerable:true, writable:true, value:function keys (){return bodavm.toolsFunc.dispatch(this, NodeList.prototype, "NodeList", "keys", arguments)}});
-bodavm.toolsFunc.defineProperty(NodeList.prototype, "values", {configurable:true, enumerable:true, writable:true, value:function values (){return bodavm.toolsFunc.dispatch(this, NodeList.prototype, "NodeList", "values", arguments)}});
-bodavm.toolsFunc.defineProperty(NodeList.prototype, "forEach", {configurable:true, enumerable:true, writable:true, value:function forEach (){return bodavm.toolsFunc.dispatch(this, NodeList.prototype, "NodeList", "forEach", arguments)}});
-bodavm.toolsFunc.defineProperty(NodeList.prototype, "length", {configurable:true, enumerable:true, get:function length (){return bodavm.toolsFunc.dispatch(this, NodeList.prototype, "NodeList", "length_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(NodeList.prototype, "item", {configurable:true, enumerable:true, writable:true, value:function item (){return bodavm.toolsFunc.dispatch(this, NodeList.prototype, "NodeList", "item", arguments)}});
-
-
diff --git a/env_xbb_lastest_cheerio/env/Notification.js b/env_xbb_lastest_cheerio/env/Notification.js
deleted file mode 100644
index 96a6b4dd..00000000
--- a/env_xbb_lastest_cheerio/env/Notification.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// Notification对象
-Notification = function Notification(){return bodavm.toolsFunc.throwError("TypeError", "Failed to construct 'Notification': 1 argument required, but only 0 present.")}
-bodavm.toolsFunc.safeProto(Notification, "Notification");
-Notification.prototype.__proto__=EventTarget.prototype;
-Notification.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(Notification, "permission", {configurable:true, enumerable:true, get:function permission (){return bodavm.toolsFunc.dispatch(this, Notification, "Notification", "permission_get", arguments, 'denied')}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification, "maxActions", {configurable:true, enumerable:true, get:function maxActions (){return bodavm.toolsFunc.dispatch(this, Notification, "Notification", "maxActions_get", arguments, 2)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification, "requestPermission", {configurable:true, enumerable:true, writable:true, value:function requestPermission (){return bodavm.toolsFunc.dispatch(this, Notification, "Notification", "requestPermission", arguments)}});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "onclick", {configurable:true, enumerable:true, get:function onclick (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "onclick_get", arguments)}, set:function onclick (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "onclick_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "onshow", {configurable:true, enumerable:true, get:function onshow (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "onshow_get", arguments)}, set:function onshow (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "onshow_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "onerror", {configurable:true, enumerable:true, get:function onerror (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "onerror_get", arguments)}, set:function onerror (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "onerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "onclose", {configurable:true, enumerable:true, get:function onclose (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "onclose_get", arguments)}, set:function onclose (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "onclose_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "title", {configurable:true, enumerable:true, get:function title (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "title_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "dir", {configurable:true, enumerable:true, get:function dir (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "dir_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "lang", {configurable:true, enumerable:true, get:function lang (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "lang_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "body", {configurable:true, enumerable:true, get:function body (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "body_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "tag", {configurable:true, enumerable:true, get:function tag (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "tag_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "icon", {configurable:true, enumerable:true, get:function icon (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "icon_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "badge", {configurable:true, enumerable:true, get:function badge (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "badge_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "vibrate", {configurable:true, enumerable:true, get:function vibrate (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "vibrate_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "timestamp", {configurable:true, enumerable:true, get:function timestamp (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "timestamp_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "renotify", {configurable:true, enumerable:true, get:function renotify (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "renotify_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "silent", {configurable:true, enumerable:true, get:function silent (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "silent_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "requireInteraction", {configurable:true, enumerable:true, get:function requireInteraction (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "requireInteraction_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "data", {configurable:true, enumerable:true, get:function data (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "data_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "actions", {configurable:true, enumerable:true, get:function actions (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "actions_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "close", {configurable:true, enumerable:true, writable:true, value:function close (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "close", arguments)}});
-bodavm.toolsFunc.defineProperty(Notification.prototype, "image", {configurable:true, enumerable:true, get:function image (){return bodavm.toolsFunc.dispatch(this, Notification.prototype, "Notification", "image_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/OfflineAudioContext.js b/env_xbb_lastest_cheerio/env/OfflineAudioContext.js
deleted file mode 100644
index 194ca9b1..00000000
--- a/env_xbb_lastest_cheerio/env/OfflineAudioContext.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// OfflineAudioContext对象
-OfflineAudioContext = function OfflineAudioContext(){
- if (arguments.length <1){
- return bodavm.toolsFunc.throwError("TypeError", "Failed to construct 'OfflineAudioContext': 1 argument required, but only 0 present.")}
- }
-
-bodavm.toolsFunc.safeProto(OfflineAudioContext, "OfflineAudioContext");
-OfflineAudioContext.prototype.__proto__=BaseAudioContext.prototype;
-OfflineAudioContext.__proto__=BaseAudioContext;
-bodavm.toolsFunc.defineProperty(OfflineAudioContext.prototype, "oncomplete", {configurable:true, enumerable:true, get:function oncomplete (){return bodavm.toolsFunc.dispatch(this, OfflineAudioContext.prototype, "OfflineAudioContext", "oncomplete_get", arguments)}, set:function oncomplete (){return bodavm.toolsFunc.dispatch(this, OfflineAudioContext.prototype, "OfflineAudioContext", "oncomplete_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OfflineAudioContext.prototype, "length", {configurable:true, enumerable:true, get:function length (){return bodavm.toolsFunc.dispatch(this, OfflineAudioContext.prototype, "OfflineAudioContext", "length_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(OfflineAudioContext.prototype, "resume", {configurable:true, enumerable:true, writable:true, value:function resume (){return bodavm.toolsFunc.dispatch(this, OfflineAudioContext.prototype, "OfflineAudioContext", "resume", arguments)}});
-bodavm.toolsFunc.defineProperty(OfflineAudioContext.prototype, "startRendering", {configurable:true, enumerable:true, writable:true, value:function startRendering (){return bodavm.toolsFunc.dispatch(this, OfflineAudioContext.prototype, "OfflineAudioContext", "startRendering", arguments)}});
-bodavm.toolsFunc.defineProperty(OfflineAudioContext.prototype, "suspend", {configurable:true, enumerable:true, writable:true, value:function suspend (){return bodavm.toolsFunc.dispatch(this, OfflineAudioContext.prototype, "OfflineAudioContext", "suspend", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/OffscreenCanvasRenderingContext2D.js b/env_xbb_lastest_cheerio/env/OffscreenCanvasRenderingContext2D.js
deleted file mode 100644
index b783c632..00000000
--- a/env_xbb_lastest_cheerio/env/OffscreenCanvasRenderingContext2D.js
+++ /dev/null
@@ -1,73 +0,0 @@
-// OffscreenCanvasRenderingContext2D对象
-OffscreenCanvasRenderingContext2D = function OffscreenCanvasRenderingContext2D(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(OffscreenCanvasRenderingContext2D, "OffscreenCanvasRenderingContext2D");
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "canvas", {configurable:true, enumerable:true, get:function canvas (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "canvas_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "globalAlpha", {configurable:true, enumerable:true, get:function globalAlpha (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "globalAlpha_get", arguments)}, set:function globalAlpha (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "globalAlpha_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "globalCompositeOperation", {configurable:true, enumerable:true, get:function globalCompositeOperation (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "globalCompositeOperation_get", arguments)}, set:function globalCompositeOperation (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "globalCompositeOperation_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "filter", {configurable:true, enumerable:true, get:function filter (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "filter_get", arguments)}, set:function filter (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "filter_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "imageSmoothingEnabled", {configurable:true, enumerable:true, get:function imageSmoothingEnabled (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "imageSmoothingEnabled_get", arguments)}, set:function imageSmoothingEnabled (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "imageSmoothingEnabled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "imageSmoothingQuality", {configurable:true, enumerable:true, get:function imageSmoothingQuality (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "imageSmoothingQuality_get", arguments)}, set:function imageSmoothingQuality (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "imageSmoothingQuality_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "strokeStyle", {configurable:true, enumerable:true, get:function strokeStyle (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "strokeStyle_get", arguments)}, set:function strokeStyle (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "strokeStyle_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "fillStyle", {configurable:true, enumerable:true, get:function fillStyle (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "fillStyle_get", arguments)}, set:function fillStyle (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "fillStyle_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "shadowOffsetX", {configurable:true, enumerable:true, get:function shadowOffsetX (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "shadowOffsetX_get", arguments)}, set:function shadowOffsetX (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "shadowOffsetX_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "shadowOffsetY", {configurable:true, enumerable:true, get:function shadowOffsetY (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "shadowOffsetY_get", arguments)}, set:function shadowOffsetY (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "shadowOffsetY_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "shadowBlur", {configurable:true, enumerable:true, get:function shadowBlur (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "shadowBlur_get", arguments)}, set:function shadowBlur (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "shadowBlur_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "shadowColor", {configurable:true, enumerable:true, get:function shadowColor (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "shadowColor_get", arguments)}, set:function shadowColor (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "shadowColor_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "lineWidth", {configurable:true, enumerable:true, get:function lineWidth (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "lineWidth_get", arguments)}, set:function lineWidth (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "lineWidth_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "lineCap", {configurable:true, enumerable:true, get:function lineCap (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "lineCap_get", arguments)}, set:function lineCap (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "lineCap_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "lineJoin", {configurable:true, enumerable:true, get:function lineJoin (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "lineJoin_get", arguments)}, set:function lineJoin (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "lineJoin_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "miterLimit", {configurable:true, enumerable:true, get:function miterLimit (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "miterLimit_get", arguments)}, set:function miterLimit (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "miterLimit_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "lineDashOffset", {configurable:true, enumerable:true, get:function lineDashOffset (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "lineDashOffset_get", arguments)}, set:function lineDashOffset (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "lineDashOffset_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "font", {configurable:true, enumerable:true, get:function font (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "font_get", arguments)}, set:function font (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "font_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "textAlign", {configurable:true, enumerable:true, get:function textAlign (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "textAlign_get", arguments)}, set:function textAlign (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "textAlign_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "textBaseline", {configurable:true, enumerable:true, get:function textBaseline (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "textBaseline_get", arguments)}, set:function textBaseline (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "textBaseline_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "direction", {configurable:true, enumerable:true, get:function direction (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "direction_get", arguments)}, set:function direction (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "direction_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "fontKerning", {configurable:true, enumerable:true, get:function fontKerning (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "fontKerning_get", arguments)}, set:function fontKerning (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "fontKerning_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "fontStretch", {configurable:true, enumerable:true, get:function fontStretch (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "fontStretch_get", arguments)}, set:function fontStretch (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "fontStretch_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "fontVariantCaps", {configurable:true, enumerable:true, get:function fontVariantCaps (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "fontVariantCaps_get", arguments)}, set:function fontVariantCaps (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "fontVariantCaps_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "letterSpacing", {configurable:true, enumerable:true, get:function letterSpacing (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "letterSpacing_get", arguments)}, set:function letterSpacing (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "letterSpacing_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "textRendering", {configurable:true, enumerable:true, get:function textRendering (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "textRendering_get", arguments)}, set:function textRendering (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "textRendering_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "wordSpacing", {configurable:true, enumerable:true, get:function wordSpacing (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "wordSpacing_get", arguments)}, set:function wordSpacing (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "wordSpacing_set", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "clip", {configurable:true, enumerable:true, writable:true, value:function clip (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "clip", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "createConicGradient", {configurable:true, enumerable:true, writable:true, value:function createConicGradient (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "createConicGradient", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "createImageData", {configurable:true, enumerable:true, writable:true, value:function createImageData (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "createImageData", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "createLinearGradient", {configurable:true, enumerable:true, writable:true, value:function createLinearGradient (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "createLinearGradient", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "createPattern", {configurable:true, enumerable:true, writable:true, value:function createPattern (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "createPattern", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "createRadialGradient", {configurable:true, enumerable:true, writable:true, value:function createRadialGradient (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "createRadialGradient", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "drawImage", {configurable:true, enumerable:true, writable:true, value:function drawImage (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "drawImage", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "fill", {configurable:true, enumerable:true, writable:true, value:function fill (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "fill", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "fillText", {configurable:true, enumerable:true, writable:true, value:function fillText (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "fillText", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "getImageData", {configurable:true, enumerable:true, writable:true, value:function getImageData (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "getImageData", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "getLineDash", {configurable:true, enumerable:true, writable:true, value:function getLineDash (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "getLineDash", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "getTransform", {configurable:true, enumerable:true, writable:true, value:function getTransform (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "getTransform", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "isContextLost", {configurable:true, enumerable:true, writable:true, value:function isContextLost (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "isContextLost", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "isPointInPath", {configurable:true, enumerable:true, writable:true, value:function isPointInPath (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "isPointInPath", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "isPointInStroke", {configurable:true, enumerable:true, writable:true, value:function isPointInStroke (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "isPointInStroke", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "measureText", {configurable:true, enumerable:true, writable:true, value:function measureText (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "measureText", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "putImageData", {configurable:true, enumerable:true, writable:true, value:function putImageData (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "putImageData", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "reset", {configurable:true, enumerable:true, writable:true, value:function reset (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "reset", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "roundRect", {configurable:true, enumerable:true, writable:true, value:function roundRect (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "roundRect", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "save", {configurable:true, enumerable:true, writable:true, value:function save (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "save", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "scale", {configurable:true, enumerable:true, writable:true, value:function scale (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "scale", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "setLineDash", {configurable:true, enumerable:true, writable:true, value:function setLineDash (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "setLineDash", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "setTransform", {configurable:true, enumerable:true, writable:true, value:function setTransform (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "setTransform", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "stroke", {configurable:true, enumerable:true, writable:true, value:function stroke (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "stroke", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "strokeText", {configurable:true, enumerable:true, writable:true, value:function strokeText (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "strokeText", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "transform", {configurable:true, enumerable:true, writable:true, value:function transform (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "transform", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "translate", {configurable:true, enumerable:true, writable:true, value:function translate (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "translate", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "arc", {configurable:true, enumerable:true, writable:true, value:function arc (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "arc", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "arcTo", {configurable:true, enumerable:true, writable:true, value:function arcTo (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "arcTo", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "beginPath", {configurable:true, enumerable:true, writable:true, value:function beginPath (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "beginPath", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "bezierCurveTo", {configurable:true, enumerable:true, writable:true, value:function bezierCurveTo (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "bezierCurveTo", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "clearRect", {configurable:true, enumerable:true, writable:true, value:function clearRect (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "clearRect", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "closePath", {configurable:true, enumerable:true, writable:true, value:function closePath (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "closePath", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "ellipse", {configurable:true, enumerable:true, writable:true, value:function ellipse (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "ellipse", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "fillRect", {configurable:true, enumerable:true, writable:true, value:function fillRect (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "fillRect", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "lineTo", {configurable:true, enumerable:true, writable:true, value:function lineTo (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "lineTo", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "moveTo", {configurable:true, enumerable:true, writable:true, value:function moveTo (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "moveTo", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "quadraticCurveTo", {configurable:true, enumerable:true, writable:true, value:function quadraticCurveTo (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "quadraticCurveTo", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "rect", {configurable:true, enumerable:true, writable:true, value:function rect (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "rect", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "resetTransform", {configurable:true, enumerable:true, writable:true, value:function resetTransform (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "resetTransform", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "restore", {configurable:true, enumerable:true, writable:true, value:function restore (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "restore", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "rotate", {configurable:true, enumerable:true, writable:true, value:function rotate (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "rotate", arguments)}});
-bodavm.toolsFunc.defineProperty(OffscreenCanvasRenderingContext2D.prototype, "strokeRect", {configurable:true, enumerable:true, writable:true, value:function strokeRect (){return bodavm.toolsFunc.dispatch(this, OffscreenCanvasRenderingContext2D.prototype, "OffscreenCanvasRenderingContext2D", "strokeRect", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/Path2D.js b/env_xbb_lastest_cheerio/env/Path2D.js
deleted file mode 100644
index a7b5f9a9..00000000
--- a/env_xbb_lastest_cheerio/env/Path2D.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// Path2D对象
-Path2D = function Path2D(){}
-bodavm.toolsFunc.safeProto(Path2D, "Path2D");
-bodavm.toolsFunc.defineProperty(Path2D.prototype, "addPath", {configurable:true, enumerable:true, writable:true, value:function addPath (){return bodavm.toolsFunc.dispatch(this, Path2D.prototype, "Path2D", "addPath", arguments)}});
-bodavm.toolsFunc.defineProperty(Path2D.prototype, "roundRect", {configurable:true, enumerable:true, writable:true, value:function roundRect (){return bodavm.toolsFunc.dispatch(this, Path2D.prototype, "Path2D", "roundRect", arguments)}});
-bodavm.toolsFunc.defineProperty(Path2D.prototype, "arc", {configurable:true, enumerable:true, writable:true, value:function arc (){return bodavm.toolsFunc.dispatch(this, Path2D.prototype, "Path2D", "arc", arguments)}});
-bodavm.toolsFunc.defineProperty(Path2D.prototype, "arcTo", {configurable:true, enumerable:true, writable:true, value:function arcTo (){return bodavm.toolsFunc.dispatch(this, Path2D.prototype, "Path2D", "arcTo", arguments)}});
-bodavm.toolsFunc.defineProperty(Path2D.prototype, "bezierCurveTo", {configurable:true, enumerable:true, writable:true, value:function bezierCurveTo (){return bodavm.toolsFunc.dispatch(this, Path2D.prototype, "Path2D", "bezierCurveTo", arguments)}});
-bodavm.toolsFunc.defineProperty(Path2D.prototype, "closePath", {configurable:true, enumerable:true, writable:true, value:function closePath (){return bodavm.toolsFunc.dispatch(this, Path2D.prototype, "Path2D", "closePath", arguments)}});
-bodavm.toolsFunc.defineProperty(Path2D.prototype, "ellipse", {configurable:true, enumerable:true, writable:true, value:function ellipse (){return bodavm.toolsFunc.dispatch(this, Path2D.prototype, "Path2D", "ellipse", arguments)}});
-bodavm.toolsFunc.defineProperty(Path2D.prototype, "lineTo", {configurable:true, enumerable:true, writable:true, value:function lineTo (){return bodavm.toolsFunc.dispatch(this, Path2D.prototype, "Path2D", "lineTo", arguments)}});
-bodavm.toolsFunc.defineProperty(Path2D.prototype, "moveTo", {configurable:true, enumerable:true, writable:true, value:function moveTo (){return bodavm.toolsFunc.dispatch(this, Path2D.prototype, "Path2D", "moveTo", arguments)}});
-bodavm.toolsFunc.defineProperty(Path2D.prototype, "quadraticCurveTo", {configurable:true, enumerable:true, writable:true, value:function quadraticCurveTo (){return bodavm.toolsFunc.dispatch(this, Path2D.prototype, "Path2D", "quadraticCurveTo", arguments)}});
-bodavm.toolsFunc.defineProperty(Path2D.prototype, "rect", {configurable:true, enumerable:true, writable:true, value:function rect (){return bodavm.toolsFunc.dispatch(this, Path2D.prototype, "Path2D", "rect", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/Performance.js b/env_xbb_lastest_cheerio/env/Performance.js
deleted file mode 100644
index 9732d4f3..00000000
--- a/env_xbb_lastest_cheerio/env/Performance.js
+++ /dev/null
@@ -1,25 +0,0 @@
-// Performance对象
-Performance = function Performance(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(Performance, "Performance");
-Performance.prototype.__proto__=EventTarget.prototype;
-Performance.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(Performance.prototype, "timeOrigin", {configurable:true, enumerable:true, get:function timeOrigin (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "timeOrigin_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "onresourcetimingbufferfull", {configurable:true, enumerable:true, get:function onresourcetimingbufferfull (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "onresourcetimingbufferfull_get", arguments)}, set:function onresourcetimingbufferfull (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "onresourcetimingbufferfull_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "clearMarks", {configurable:true, enumerable:true, writable:true, value:function clearMarks (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "clearMarks", arguments)}});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "clearMeasures", {configurable:true, enumerable:true, writable:true, value:function clearMeasures (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "clearMeasures", arguments)}});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "clearResourceTimings", {configurable:true, enumerable:true, writable:true, value:function clearResourceTimings (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "clearResourceTimings", arguments)}});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "getEntries", {configurable:true, enumerable:true, writable:true, value:function getEntries (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "getEntries", arguments)}});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "getEntriesByName", {configurable:true, enumerable:true, writable:true, value:function getEntriesByName (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "getEntriesByName", arguments)}});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "getEntriesByType", {configurable:true, enumerable:true, writable:true, value:function getEntriesByType (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "getEntriesByType", arguments)}});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "mark", {configurable:true, enumerable:true, writable:true, value:function mark (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "mark", arguments)}});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "measure", {configurable:true, enumerable:true, writable:true, value:function measure (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "measure", arguments)}});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "now", {configurable:true, enumerable:true, writable:true, value:function now (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "now", arguments)}});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "setResourceTimingBufferSize", {configurable:true, enumerable:true, writable:true, value:function setResourceTimingBufferSize (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "setResourceTimingBufferSize", arguments)}});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "toJSON", {configurable:true, enumerable:true, writable:true, value:function toJSON (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "toJSON", arguments)}});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "timing", {configurable:true, enumerable:true, get:function timing (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "timing_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "navigation", {configurable:true, enumerable:true, get:function navigation (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "navigation_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "memory", {configurable:true, enumerable:true, get:function memory (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "memory_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Performance.prototype, "eventCounts", {configurable:true, enumerable:true, get:function eventCounts (){return bodavm.toolsFunc.dispatch(this, Performance.prototype, "Performance", "eventCounts_get", arguments)}, set:undefined});
-// performance对象
-var performance = {}
-performance.__proto__=Performance.prototype;
diff --git a/env_xbb_lastest_cheerio/env/PerformanceEntry.js b/env_xbb_lastest_cheerio/env/PerformanceEntry.js
deleted file mode 100644
index 9d942193..00000000
--- a/env_xbb_lastest_cheerio/env/PerformanceEntry.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// PerformanceEntry对象
-PerformanceEntry = function PerformanceEntry(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(PerformanceEntry, "PerformanceEntry");
-bodavm.toolsFunc.defineProperty(PerformanceEntry.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, PerformanceEntry.prototype, "PerformanceEntry", "name_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PerformanceEntry.prototype, "entryType", {configurable:true, enumerable:true, get:function entryType (){return bodavm.toolsFunc.dispatch(this, PerformanceEntry.prototype, "PerformanceEntry", "entryType_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PerformanceEntry.prototype, "startTime", {configurable:true, enumerable:true, get:function startTime (){return bodavm.toolsFunc.dispatch(this, PerformanceEntry.prototype, "PerformanceEntry", "startTime_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PerformanceEntry.prototype, "duration", {configurable:true, enumerable:true, get:function duration (){return bodavm.toolsFunc.dispatch(this, PerformanceEntry.prototype, "PerformanceEntry", "duration_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PerformanceEntry.prototype, "toJSON", {configurable:true, enumerable:true, writable:true, value:function toJSON (){return bodavm.toolsFunc.dispatch(this, PerformanceEntry.prototype, "PerformanceEntry", "toJSON", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/PerformancePaintTiming.js b/env_xbb_lastest_cheerio/env/PerformancePaintTiming.js
deleted file mode 100644
index fdfa04b9..00000000
--- a/env_xbb_lastest_cheerio/env/PerformancePaintTiming.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// PerformancePaintTiming对象
-PerformancePaintTiming = function PerformancePaintTiming(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(PerformancePaintTiming, "PerformancePaintTiming");
-PerformancePaintTiming.prototype.__proto__=PerformanceEntry.prototype;
-PerformancePaintTiming.__proto__=PerformanceEntry;
diff --git a/env_xbb_lastest_cheerio/env/PermissionStatus.js b/env_xbb_lastest_cheerio/env/PermissionStatus.js
deleted file mode 100644
index 71d44c70..00000000
--- a/env_xbb_lastest_cheerio/env/PermissionStatus.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// PermissionStatus对象
-PermissionStatus = function PermissionStatus(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(PermissionStatus, "PermissionStatus");
-PermissionStatus.prototype.__proto__=EventTarget.prototype;
-PermissionStatus.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(PermissionStatus.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, PermissionStatus.prototype, "PermissionStatus", "name_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PermissionStatus.prototype, "state", {configurable:true, enumerable:true, get:function state (){return bodavm.toolsFunc.dispatch(this, PermissionStatus.prototype, "PermissionStatus", "state_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PermissionStatus.prototype, "onchange", {configurable:true, enumerable:true, get:function onchange (){return bodavm.toolsFunc.dispatch(this, PermissionStatus.prototype, "PermissionStatus", "onchange_get", arguments)}, set:function onchange (){return bodavm.toolsFunc.dispatch(this, PermissionStatus.prototype, "PermissionStatus", "onchange_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/Permissions.js b/env_xbb_lastest_cheerio/env/Permissions.js
deleted file mode 100644
index 5b813166..00000000
--- a/env_xbb_lastest_cheerio/env/Permissions.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// Permissions对象
-Permissions = function Permissions(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(Permissions, "Permissions");
-bodavm.toolsFunc.defineProperty(Permissions.prototype, "query", {configurable:true, enumerable:true, writable:true, value:function query (){return bodavm.toolsFunc.dispatch(this, Permissions.prototype, "Permissions", "query", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/Plugin.js b/env_xbb_lastest_cheerio/env/Plugin.js
deleted file mode 100644
index 0226a372..00000000
--- a/env_xbb_lastest_cheerio/env/Plugin.js
+++ /dev/null
@@ -1,9 +0,0 @@
-//Plugin对象
-Plugin=function Plugin(){return bodavm.toolsFunc.throwError("TypeError","Illegal constructor")}
-bodavm.toolsFunc.safeProto(Plugin,"Plugin");
-bodavm.toolsFunc.defineProperty(Plugin.prototype,"name",{configurable:true, enumerable:true, get:function name () {return bodavm.toolsFunc.dispatch(this,Plugin.prototype,"Plugin","name_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Plugin.prototype,"filename",{configurable:true, enumerable:true, get:function filename () {return bodavm.toolsFunc.dispatch(this,Plugin.prototype,"Plugin","filename_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Plugin.prototype,"description",{configurable:true, enumerable:true, get:function description () {return bodavm.toolsFunc.dispatch(this,Plugin.prototype,"Plugin","description_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Plugin.prototype,"length",{configurable:true, enumerable:true, get:function length () {return bodavm.toolsFunc.dispatch(this,Plugin.prototype,"Plugin","length_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(Plugin.prototype,"item",{configurable:true, enumerable:true, writable:true, value:function item() {return bodavm.toolsFunc.dispatch(this,Plugin.prototype,"Plugin","item",arguments)}});
-bodavm.toolsFunc.defineProperty(Plugin.prototype,"namedItem",{configurable:true, enumerable:true, writable:true, value:function namedItem() {return bodavm.toolsFunc.dispatch(this,Plugin.prototype,"Plugin","namedItem",arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/PluginArray.js b/env_xbb_lastest_cheerio/env/PluginArray.js
deleted file mode 100644
index a7733fe4..00000000
--- a/env_xbb_lastest_cheerio/env/PluginArray.js
+++ /dev/null
@@ -1,7 +0,0 @@
-//PluginArray对象
-PluginArray=function PluginArray(){return bodavm.toolsFunc.throwError("TypeError","Illegal constructor")}
-bodavm.toolsFunc.safeProto(PluginArray,"PluginArray");
-bodavm.toolsFunc.defineProperty(PluginArray.prototype,"length",{configurable:true, enumerable:true, get:function length () {return bodavm.toolsFunc.dispatch(this,PluginArray.prototype,"PluginArray","length_get",arguments)},set:undefined});
-bodavm.toolsFunc.defineProperty(PluginArray.prototype,"item",{configurable:true, enumerable:true, writable:true, value:function item() {return bodavm.toolsFunc.dispatch(this,PluginArray.prototype,"PluginArray","item",arguments)}});
-bodavm.toolsFunc.defineProperty(PluginArray.prototype,"namedItem",{configurable:true, enumerable:true, writable:true, value:function namedItem() {return bodavm.toolsFunc.dispatch(this,PluginArray.prototype,"PluginArray","namedItem",arguments)}});
-bodavm.toolsFunc.defineProperty(PluginArray.prototype,"refresh",{configurable:true, enumerable:true, writable:true, value:function refresh() {return bodavm.toolsFunc.dispatch(this,PluginArray.prototype,"PluginArray","refresh",arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/PointerEvent.js b/env_xbb_lastest_cheerio/env/PointerEvent.js
deleted file mode 100644
index f5d44c7e..00000000
--- a/env_xbb_lastest_cheerio/env/PointerEvent.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// PointerEvent对象
-PointerEvent = function PointerEvent(){
- if (arguments.length <1){
- return bodavm.toolsFunc.throwError("TypeError","Failed to construct 'PointerEvent': 1 argument required, but only 0 present.")
- }
- this._type=arguments[0]
- Object.defineProperty(this,'isTrusted',{
- configurable:false,
- enumerable:true,
- set:undefined,
- get:function (){
- return true
- }
- })
-
-}
-bodavm.toolsFunc.safeProto(PointerEvent, "PointerEvent");
-PointerEvent.prototype.__proto__=MouseEvent.prototype;
-PointerEvent.__proto__=MouseEvent;
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "pointerId", {configurable:true, enumerable:true, get:function pointerId (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "pointerId_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "width", {configurable:true, enumerable:true, get:function width (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "width_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "height", {configurable:true, enumerable:true, get:function height (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "height_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "pressure", {configurable:true, enumerable:true, get:function pressure (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "pressure_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "tiltX", {configurable:true, enumerable:true, get:function tiltX (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "tiltX_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "tiltY", {configurable:true, enumerable:true, get:function tiltY (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "tiltY_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "azimuthAngle", {configurable:true, enumerable:true, get:function azimuthAngle (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "azimuthAngle_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "altitudeAngle", {configurable:true, enumerable:true, get:function altitudeAngle (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "altitudeAngle_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "tangentialPressure", {configurable:true, enumerable:true, get:function tangentialPressure (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "tangentialPressure_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "twist", {configurable:true, enumerable:true, get:function twist (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "twist_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "pointerType", {configurable:true, enumerable:true, get:function pointerType (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "pointerType_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "isPrimary", {configurable:true, enumerable:true, get:function isPrimary (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "isPrimary_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "getCoalescedEvents", {configurable:true, enumerable:true, writable:true, value:function getCoalescedEvents (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "getCoalescedEvents", arguments)}});
-bodavm.toolsFunc.defineProperty(PointerEvent.prototype, "getPredictedEvents", {configurable:true, enumerable:true, writable:true, value:function getPredictedEvents (){return bodavm.toolsFunc.dispatch(this, PointerEvent.prototype, "PointerEvent", "getPredictedEvents", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/PresentationConnectionCloseEvent.js b/env_xbb_lastest_cheerio/env/PresentationConnectionCloseEvent.js
deleted file mode 100644
index 73f42a5a..00000000
--- a/env_xbb_lastest_cheerio/env/PresentationConnectionCloseEvent.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// PresentationConnectionCloseEvent对象
-PresentationConnectionCloseEvent = function PresentationConnectionCloseEvent(){return bodavm.toolsFunc.throwError("TypeError", "Failed to construct 'PresentationConnectionCloseEvent': 2 arguments required, but only 0 present.")}
-bodavm.toolsFunc.safeProto(PresentationConnectionCloseEvent, "PresentationConnectionCloseEvent");
-PresentationConnectionCloseEvent.prototype.__proto__=Event.prototype;
-PresentationConnectionCloseEvent.__proto__=Event;
-bodavm.toolsFunc.defineProperty(PresentationConnectionCloseEvent.prototype, "reason", {configurable:true, enumerable:true, get:function reason (){return bodavm.toolsFunc.dispatch(this, PresentationConnectionCloseEvent.prototype, "PresentationConnectionCloseEvent", "reason_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(PresentationConnectionCloseEvent.prototype, "message", {configurable:true, enumerable:true, get:function message (){return bodavm.toolsFunc.dispatch(this, PresentationConnectionCloseEvent.prototype, "PresentationConnectionCloseEvent", "message_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/Promise.js b/env_xbb_lastest_cheerio/env/Promise.js
deleted file mode 100644
index e8d0770f..00000000
--- a/env_xbb_lastest_cheerio/env/Promise.js
+++ /dev/null
@@ -1,193 +0,0 @@
-const PENDING = 'pending';
-const FULFILLED = 'fulfilled';
-const REJECTED = 'rejected';
-
-function Promise(executor) {
- this.state = PENDING;
- this.value = null;
- this.reason = null;
- this.onFulfilledCallbacks = [];
- this.onRejectedCallbacks = [];
-
- const resolve = (value) => {
- if (this.state === PENDING) {
- this.state = FULFILLED;
- this.value = value;
- this.onFulfilledCallbacks.forEach((fun) => {
- fun();
- });
- }
- };
-
- const reject = (reason) => {
- if (this.state === PENDING) {
- this.state = REJECTED;
- this.reason = reason;
- this.onRejectedCallbacks.forEach((fun) => {
- fun();
- });
- }
- };
-
- try {
- executor(resolve, reject);
- } catch (reason) {
- reject(reason);
- }
-}
-bodavm.toolsFunc.safeProto(Promise,"Promise");
-
-
-
-//原型上面的方法
-//用settimeout来模拟异步调用,保证链式调用,即then方法中要返回一个新的promise,并将then方法的返回值进行resolve
-Promise.prototype.then = function (onFulfilled, onRejected) {
- if (typeof onFulfilled != 'function') {
- onFulfilled = function (value) {
- return value;
- };
- }
- if (typeof onRejected != 'function') {
- onRejected = function (reason) {
- throw reason;
- };
- }
- const promise2 = new Promise((resolve, reject) => {
- switch (this.state) {
- case FULFILLED:
- setTimeout(() => {
- try {
- const x = onFulfilled(this.value);
- resolve(x);
- } catch (reason) {
- reject(reason);
- }
- }, 0);
- break;
- case REJECTED:
- setTimeout(() => {
- try {
- const x = onRejected(this.reason);
- resolve(x);
- } catch (reason) {
- reject(reason);
- }
- }, 0);
- break;
- case PENDING:
- this.onFulfilledCallbacks.push(() => {
- setTimeout(() => {
- try {
- const x = onFulfilled(this.value);
- resolve(x);
- } catch (reason) {
- reject(reason);
- }
- }, 0);
- });
- this.onRejectedCallbacks.push(() => {
- setTimeout(() => {
- try {
- const x = onRejected(this.reason);
- resolve(x);
- } catch (reason) {
- reject(reason);
- }
- }, 0);
- });
- break;
- }
- });
- return promise2;
-};
-bodavm.toolsFunc.safeFunc(Promise.prototype.then,'then')
-
-Promise.prototype.catch = function (onRejected) {
- return this.then(null, onRejected);
-};
-bodavm.toolsFunc.safeFunc(Promise.prototype.catch,'catch')
-
-
-Promise.prototype.finally = function (fn) {
- return this.then(
- (value) => {
- fn();
- return value;
- },
- (reason) => {
- fn();
- throw reason;
- }
- );
-};
-bodavm.toolsFunc.safeFunc(Promise.prototype.finally,'finally')
-
-
-//静态方法
-Promise.resolve = function (value) {
- return new Promise((resolve, reject) => {
- resolve(value);
- });
-};
-bodavm.toolsFunc.safeFunc(Promise.resolve,'resolve')
-
-Promise.reject = function (reason) {
- return new Promise((resolve, reject) => {
- reject(reason);
- });
-};
-bodavm.toolsFunc.safeFunc(Promise.reject,'reject')
-
-//接受一个promise数组,当所有promise状态resolve后,执行resolve
-Promise.all = function (promises) {
- return new Promise((resolve, reject) => {
- if (promises.length === 0) {
- resolve([]);
- } else {
- let result = [];
- let index = 0;
- for (let i = 0; i < promises.length; i++) {
- promises[i].then(
- (data) => {
- result[i] = data;
- if (++index === promises.length) {
- resolve(result);
- }
- },
- (err) => {
- reject(err);
- return;
- }
- );
- }
- }
- });
-};
-bodavm.toolsFunc.safeFunc(Promise.all,'all')
-
-//接受一个promise数组,当有一个promise状态resolve后,执行resolve
-Promise.race = function (promises) {
- return new Promise((resolve, reject) => {
- if (promises.length === 0) {
- resolve();
- } else {
- let index = 0;
- for (let i = 0; i < promises.length; i++) {
- promises[i].then(
- (data) => {
- resolve(data);
- },
- (err) => {
- reject(err);
- return;
- }
- );
- }
- }
- });
-};
-bodavm.toolsFunc.safeFunc(Promise.race,'race')
-
-bodavm.toolsFunc.safeFunc(Promise)
-// globalMy.rename(Promise.prototype,"Promise")
-
diff --git a/env_xbb_lastest_cheerio/env/RTCPeerConnection.js b/env_xbb_lastest_cheerio/env/RTCPeerConnection.js
deleted file mode 100644
index 34e68c35..00000000
--- a/env_xbb_lastest_cheerio/env/RTCPeerConnection.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// RTCPeerConnection对象
-RTCPeerConnection = function RTCPeerConnection(){}
-bodavm.toolsFunc.safeProto(RTCPeerConnection, "RTCPeerConnection");
-RTCPeerConnection.prototype.__proto__=EventTarget.prototype;
-RTCPeerConnection.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(RTCPeerConnection, "generateCertificate", {configurable:true, enumerable:true, writable:true, value:function generateCertificate (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection, "RTCPeerConnection", "generateCertificate", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "localDescription", {configurable:true, enumerable:true, get:function localDescription (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "localDescription_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "currentLocalDescription", {configurable:true, enumerable:true, get:function currentLocalDescription (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "currentLocalDescription_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "pendingLocalDescription", {configurable:true, enumerable:true, get:function pendingLocalDescription (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "pendingLocalDescription_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "remoteDescription", {configurable:true, enumerable:true, get:function remoteDescription (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "remoteDescription_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "currentRemoteDescription", {configurable:true, enumerable:true, get:function currentRemoteDescription (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "currentRemoteDescription_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "pendingRemoteDescription", {configurable:true, enumerable:true, get:function pendingRemoteDescription (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "pendingRemoteDescription_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "signalingState", {configurable:true, enumerable:true, get:function signalingState (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "signalingState_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "iceGatheringState", {configurable:true, enumerable:true, get:function iceGatheringState (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "iceGatheringState_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "iceConnectionState", {configurable:true, enumerable:true, get:function iceConnectionState (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "iceConnectionState_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "connectionState", {configurable:true, enumerable:true, get:function connectionState (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "connectionState_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "canTrickleIceCandidates", {configurable:true, enumerable:true, get:function canTrickleIceCandidates (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "canTrickleIceCandidates_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "onnegotiationneeded", {configurable:true, enumerable:true, get:function onnegotiationneeded (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onnegotiationneeded_get", arguments)}, set:function onnegotiationneeded (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onnegotiationneeded_set", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "onicecandidate", {configurable:true, enumerable:true, get:function onicecandidate (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onicecandidate_get", arguments)}, set:function onicecandidate (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onicecandidate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "onsignalingstatechange", {configurable:true, enumerable:true, get:function onsignalingstatechange (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onsignalingstatechange_get", arguments)}, set:function onsignalingstatechange (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onsignalingstatechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "oniceconnectionstatechange", {configurable:true, enumerable:true, get:function oniceconnectionstatechange (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "oniceconnectionstatechange_get", arguments)}, set:function oniceconnectionstatechange (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "oniceconnectionstatechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "onconnectionstatechange", {configurable:true, enumerable:true, get:function onconnectionstatechange (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onconnectionstatechange_get", arguments)}, set:function onconnectionstatechange (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onconnectionstatechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "onicegatheringstatechange", {configurable:true, enumerable:true, get:function onicegatheringstatechange (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onicegatheringstatechange_get", arguments)}, set:function onicegatheringstatechange (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onicegatheringstatechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "onicecandidateerror", {configurable:true, enumerable:true, get:function onicecandidateerror (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onicecandidateerror_get", arguments)}, set:function onicecandidateerror (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onicecandidateerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "ontrack", {configurable:true, enumerable:true, get:function ontrack (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "ontrack_get", arguments)}, set:function ontrack (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "ontrack_set", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "sctp", {configurable:true, enumerable:true, get:function sctp (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "sctp_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "ondatachannel", {configurable:true, enumerable:true, get:function ondatachannel (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "ondatachannel_get", arguments)}, set:function ondatachannel (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "ondatachannel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "onaddstream", {configurable:true, enumerable:true, get:function onaddstream (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onaddstream_get", arguments)}, set:function onaddstream (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onaddstream_set", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "onremovestream", {configurable:true, enumerable:true, get:function onremovestream (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onremovestream_get", arguments)}, set:function onremovestream (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "onremovestream_set", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "addIceCandidate", {configurable:true, enumerable:true, writable:true, value:function addIceCandidate (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "addIceCandidate", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "addStream", {configurable:true, enumerable:true, writable:true, value:function addStream (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "addStream", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "addTrack", {configurable:true, enumerable:true, writable:true, value:function addTrack (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "addTrack", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "addTransceiver", {configurable:true, enumerable:true, writable:true, value:function addTransceiver (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "addTransceiver", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "close", {configurable:true, enumerable:true, writable:true, value:function close (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "close", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "createAnswer", {configurable:true, enumerable:true, writable:true, value:function createAnswer (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "createAnswer", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "createDTMFSender", {configurable:true, enumerable:true, writable:true, value:function createDTMFSender (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "createDTMFSender", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "createDataChannel", {configurable:true, enumerable:true, writable:true, value:function createDataChannel (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "createDataChannel", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "createOffer", {configurable:true, enumerable:true, writable:true, value:function createOffer (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "createOffer", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "getConfiguration", {configurable:true, enumerable:true, writable:true, value:function getConfiguration (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "getConfiguration", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "getLocalStreams", {configurable:true, enumerable:true, writable:true, value:function getLocalStreams (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "getLocalStreams", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "getReceivers", {configurable:true, enumerable:true, writable:true, value:function getReceivers (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "getReceivers", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "getRemoteStreams", {configurable:true, enumerable:true, writable:true, value:function getRemoteStreams (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "getRemoteStreams", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "getSenders", {configurable:true, enumerable:true, writable:true, value:function getSenders (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "getSenders", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "getStats", {configurable:true, enumerable:true, writable:true, value:function getStats (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "getStats", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "getTransceivers", {configurable:true, enumerable:true, writable:true, value:function getTransceivers (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "getTransceivers", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "removeStream", {configurable:true, enumerable:true, writable:true, value:function removeStream (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "removeStream", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "removeTrack", {configurable:true, enumerable:true, writable:true, value:function removeTrack (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "removeTrack", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "restartIce", {configurable:true, enumerable:true, writable:true, value:function restartIce (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "restartIce", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "setConfiguration", {configurable:true, enumerable:true, writable:true, value:function setConfiguration (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "setConfiguration", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "setLocalDescription", {configurable:true, enumerable:true, writable:true, value:function setLocalDescription (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "setLocalDescription", arguments)}});
-bodavm.toolsFunc.defineProperty(RTCPeerConnection.prototype, "setRemoteDescription", {configurable:true, enumerable:true, writable:true, value:function setRemoteDescription (){return bodavm.toolsFunc.dispatch(this, RTCPeerConnection.prototype, "RTCPeerConnection", "setRemoteDescription", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/Request.js b/env_xbb_lastest_cheerio/env/Request.js
deleted file mode 100644
index c3de08f0..00000000
--- a/env_xbb_lastest_cheerio/env/Request.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Request对象
-Request = function Request(){
-
- if (arguments.length <1){
- return bodavm.toolsFunc.throwError("TypeError", "Failed to construct 'Request': 1 argument required, but only 0 present.")}
-
- }
-bodavm.toolsFunc.safeProto(Request, "Request");
-bodavm.toolsFunc.defineProperty(Request.prototype, "method", {configurable:true, enumerable:true, get:function method (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "method_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "url", {configurable:true, enumerable:true, get:function url (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "url_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "headers", {configurable:true, enumerable:true, get:function headers (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "headers_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "destination", {configurable:true, enumerable:true, get:function destination (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "destination_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "referrer", {configurable:true, enumerable:true, get:function referrer (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "referrer_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "referrerPolicy", {configurable:true, enumerable:true, get:function referrerPolicy (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "referrerPolicy_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "mode", {configurable:true, enumerable:true, get:function mode (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "mode_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "credentials", {configurable:true, enumerable:true, get:function credentials (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "credentials_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "cache", {configurable:true, enumerable:true, get:function cache (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "cache_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "redirect", {configurable:true, enumerable:true, get:function redirect (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "redirect_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "integrity", {configurable:true, enumerable:true, get:function integrity (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "integrity_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "keepalive", {configurable:true, enumerable:true, get:function keepalive (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "keepalive_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "signal", {configurable:true, enumerable:true, get:function signal (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "signal_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "isHistoryNavigation", {configurable:true, enumerable:true, get:function isHistoryNavigation (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "isHistoryNavigation_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "bodyUsed", {configurable:true, enumerable:true, get:function bodyUsed (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "bodyUsed_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Request.prototype, "arrayBuffer", {configurable:true, enumerable:true, writable:true, value:function arrayBuffer (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "arrayBuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(Request.prototype, "blob", {configurable:true, enumerable:true, writable:true, value:function blob (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "blob", arguments)}});
-bodavm.toolsFunc.defineProperty(Request.prototype, "clone", {configurable:true, enumerable:true, writable:true, value:function clone (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "clone", arguments)}});
-bodavm.toolsFunc.defineProperty(Request.prototype, "formData", {configurable:true, enumerable:true, writable:true, value:function formData (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "formData", arguments)}});
-bodavm.toolsFunc.defineProperty(Request.prototype, "json", {configurable:true, enumerable:true, writable:true, value:function json (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "json", arguments)}});
-bodavm.toolsFunc.defineProperty(Request.prototype, "text", {configurable:true, enumerable:true, writable:true, value:function text (){return bodavm.toolsFunc.dispatch(this, Request.prototype, "Request", "text", arguments)}});
-
-
diff --git a/env_xbb_lastest_cheerio/env/SVGElement.js b/env_xbb_lastest_cheerio/env/SVGElement.js
deleted file mode 100644
index 0c28c91c..00000000
--- a/env_xbb_lastest_cheerio/env/SVGElement.js
+++ /dev/null
@@ -1,109 +0,0 @@
-// SVGElement对象
-SVGElement = function SVGElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(SVGElement, "SVGElement");
-SVGElement.prototype.__proto__=Element.prototype;
-SVGElement.__proto__=Element;
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "className", {configurable:true, enumerable:true, get:function className (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "className_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ownerSVGElement", {configurable:true, enumerable:true, get:function ownerSVGElement (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ownerSVGElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "viewportElement", {configurable:true, enumerable:true, get:function viewportElement (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "viewportElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onbeforexrselect", {configurable:true, enumerable:true, get:function onbeforexrselect (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onbeforexrselect_get", arguments)}, set:function onbeforexrselect (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onbeforexrselect_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onabort", {configurable:true, enumerable:true, get:function onabort (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onabort_get", arguments)}, set:function onabort (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onabort_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onblur", {configurable:true, enumerable:true, get:function onblur (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onblur_get", arguments)}, set:function onblur (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onblur_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "oncancel", {configurable:true, enumerable:true, get:function oncancel (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncancel_get", arguments)}, set:function oncancel (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncancel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "oncanplay", {configurable:true, enumerable:true, get:function oncanplay (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncanplay_get", arguments)}, set:function oncanplay (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncanplay_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "oncanplaythrough", {configurable:true, enumerable:true, get:function oncanplaythrough (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncanplaythrough_get", arguments)}, set:function oncanplaythrough (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncanplaythrough_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onchange", {configurable:true, enumerable:true, get:function onchange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onchange_get", arguments)}, set:function onchange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onclick", {configurable:true, enumerable:true, get:function onclick (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onclick_get", arguments)}, set:function onclick (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onclick_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onclose", {configurable:true, enumerable:true, get:function onclose (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onclose_get", arguments)}, set:function onclose (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onclose_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "oncontextlost", {configurable:true, enumerable:true, get:function oncontextlost (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncontextlost_get", arguments)}, set:function oncontextlost (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncontextlost_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "oncontextmenu", {configurable:true, enumerable:true, get:function oncontextmenu (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncontextmenu_get", arguments)}, set:function oncontextmenu (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncontextmenu_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "oncontextrestored", {configurable:true, enumerable:true, get:function oncontextrestored (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncontextrestored_get", arguments)}, set:function oncontextrestored (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncontextrestored_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "oncuechange", {configurable:true, enumerable:true, get:function oncuechange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncuechange_get", arguments)}, set:function oncuechange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncuechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ondblclick", {configurable:true, enumerable:true, get:function ondblclick (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondblclick_get", arguments)}, set:function ondblclick (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondblclick_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ondrag", {configurable:true, enumerable:true, get:function ondrag (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondrag_get", arguments)}, set:function ondrag (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondrag_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ondragend", {configurable:true, enumerable:true, get:function ondragend (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondragend_get", arguments)}, set:function ondragend (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondragend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ondragenter", {configurable:true, enumerable:true, get:function ondragenter (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondragenter_get", arguments)}, set:function ondragenter (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondragenter_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ondragleave", {configurable:true, enumerable:true, get:function ondragleave (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondragleave_get", arguments)}, set:function ondragleave (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondragleave_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ondragover", {configurable:true, enumerable:true, get:function ondragover (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondragover_get", arguments)}, set:function ondragover (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondragover_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ondragstart", {configurable:true, enumerable:true, get:function ondragstart (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondragstart_get", arguments)}, set:function ondragstart (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondragstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ondrop", {configurable:true, enumerable:true, get:function ondrop (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondrop_get", arguments)}, set:function ondrop (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondrop_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ondurationchange", {configurable:true, enumerable:true, get:function ondurationchange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondurationchange_get", arguments)}, set:function ondurationchange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ondurationchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onemptied", {configurable:true, enumerable:true, get:function onemptied (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onemptied_get", arguments)}, set:function onemptied (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onemptied_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onended", {configurable:true, enumerable:true, get:function onended (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onended_get", arguments)}, set:function onended (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onended_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onerror", {configurable:true, enumerable:true, get:function onerror (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onerror_get", arguments)}, set:function onerror (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onfocus", {configurable:true, enumerable:true, get:function onfocus (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onfocus_get", arguments)}, set:function onfocus (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onfocus_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onformdata", {configurable:true, enumerable:true, get:function onformdata (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onformdata_get", arguments)}, set:function onformdata (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onformdata_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "oninput", {configurable:true, enumerable:true, get:function oninput (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oninput_get", arguments)}, set:function oninput (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oninput_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "oninvalid", {configurable:true, enumerable:true, get:function oninvalid (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oninvalid_get", arguments)}, set:function oninvalid (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oninvalid_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onkeydown", {configurable:true, enumerable:true, get:function onkeydown (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onkeydown_get", arguments)}, set:function onkeydown (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onkeydown_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onkeypress", {configurable:true, enumerable:true, get:function onkeypress (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onkeypress_get", arguments)}, set:function onkeypress (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onkeypress_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onkeyup", {configurable:true, enumerable:true, get:function onkeyup (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onkeyup_get", arguments)}, set:function onkeyup (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onkeyup_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onload", {configurable:true, enumerable:true, get:function onload (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onload_get", arguments)}, set:function onload (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onload_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onloadeddata", {configurable:true, enumerable:true, get:function onloadeddata (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onloadeddata_get", arguments)}, set:function onloadeddata (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onloadeddata_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onloadedmetadata", {configurable:true, enumerable:true, get:function onloadedmetadata (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onloadedmetadata_get", arguments)}, set:function onloadedmetadata (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onloadedmetadata_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onloadstart", {configurable:true, enumerable:true, get:function onloadstart (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onloadstart_get", arguments)}, set:function onloadstart (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onloadstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onmousedown", {configurable:true, enumerable:true, get:function onmousedown (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmousedown_get", arguments)}, set:function onmousedown (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmousedown_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onmouseenter", {configurable:true, enumerable:true, get:function onmouseenter (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmouseenter_get", arguments)}, set:function onmouseenter (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmouseenter_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onmouseleave", {configurable:true, enumerable:true, get:function onmouseleave (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmouseleave_get", arguments)}, set:function onmouseleave (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmouseleave_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onmousemove", {configurable:true, enumerable:true, get:function onmousemove (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmousemove_get", arguments)}, set:function onmousemove (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmousemove_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onmouseout", {configurable:true, enumerable:true, get:function onmouseout (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmouseout_get", arguments)}, set:function onmouseout (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmouseout_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onmouseover", {configurable:true, enumerable:true, get:function onmouseover (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmouseover_get", arguments)}, set:function onmouseover (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmouseover_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onmouseup", {configurable:true, enumerable:true, get:function onmouseup (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmouseup_get", arguments)}, set:function onmouseup (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmouseup_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onmousewheel", {configurable:true, enumerable:true, get:function onmousewheel (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmousewheel_get", arguments)}, set:function onmousewheel (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onmousewheel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onpause", {configurable:true, enumerable:true, get:function onpause (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpause_get", arguments)}, set:function onpause (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpause_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onplay", {configurable:true, enumerable:true, get:function onplay (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onplay_get", arguments)}, set:function onplay (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onplay_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onplaying", {configurable:true, enumerable:true, get:function onplaying (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onplaying_get", arguments)}, set:function onplaying (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onplaying_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onprogress", {configurable:true, enumerable:true, get:function onprogress (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onprogress_get", arguments)}, set:function onprogress (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onprogress_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onratechange", {configurable:true, enumerable:true, get:function onratechange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onratechange_get", arguments)}, set:function onratechange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onratechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onreset", {configurable:true, enumerable:true, get:function onreset (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onreset_get", arguments)}, set:function onreset (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onreset_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onresize", {configurable:true, enumerable:true, get:function onresize (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onresize_get", arguments)}, set:function onresize (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onresize_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onscroll", {configurable:true, enumerable:true, get:function onscroll (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onscroll_get", arguments)}, set:function onscroll (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onscroll_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onsecuritypolicyviolation", {configurable:true, enumerable:true, get:function onsecuritypolicyviolation (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onsecuritypolicyviolation_get", arguments)}, set:function onsecuritypolicyviolation (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onsecuritypolicyviolation_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onseeked", {configurable:true, enumerable:true, get:function onseeked (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onseeked_get", arguments)}, set:function onseeked (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onseeked_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onseeking", {configurable:true, enumerable:true, get:function onseeking (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onseeking_get", arguments)}, set:function onseeking (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onseeking_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onselect", {configurable:true, enumerable:true, get:function onselect (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onselect_get", arguments)}, set:function onselect (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onselect_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onslotchange", {configurable:true, enumerable:true, get:function onslotchange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onslotchange_get", arguments)}, set:function onslotchange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onslotchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onstalled", {configurable:true, enumerable:true, get:function onstalled (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onstalled_get", arguments)}, set:function onstalled (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onstalled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onsubmit", {configurable:true, enumerable:true, get:function onsubmit (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onsubmit_get", arguments)}, set:function onsubmit (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onsubmit_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onsuspend", {configurable:true, enumerable:true, get:function onsuspend (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onsuspend_get", arguments)}, set:function onsuspend (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onsuspend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ontimeupdate", {configurable:true, enumerable:true, get:function ontimeupdate (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ontimeupdate_get", arguments)}, set:function ontimeupdate (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ontimeupdate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ontoggle", {configurable:true, enumerable:true, get:function ontoggle (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ontoggle_get", arguments)}, set:function ontoggle (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ontoggle_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onvolumechange", {configurable:true, enumerable:true, get:function onvolumechange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onvolumechange_get", arguments)}, set:function onvolumechange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onvolumechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onwaiting", {configurable:true, enumerable:true, get:function onwaiting (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onwaiting_get", arguments)}, set:function onwaiting (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onwaiting_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onwebkitanimationend", {configurable:true, enumerable:true, get:function onwebkitanimationend (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onwebkitanimationend_get", arguments)}, set:function onwebkitanimationend (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onwebkitanimationend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onwebkitanimationiteration", {configurable:true, enumerable:true, get:function onwebkitanimationiteration (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onwebkitanimationiteration_get", arguments)}, set:function onwebkitanimationiteration (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onwebkitanimationiteration_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onwebkitanimationstart", {configurable:true, enumerable:true, get:function onwebkitanimationstart (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onwebkitanimationstart_get", arguments)}, set:function onwebkitanimationstart (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onwebkitanimationstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onwebkittransitionend", {configurable:true, enumerable:true, get:function onwebkittransitionend (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onwebkittransitionend_get", arguments)}, set:function onwebkittransitionend (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onwebkittransitionend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onwheel", {configurable:true, enumerable:true, get:function onwheel (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onwheel_get", arguments)}, set:function onwheel (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onwheel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onauxclick", {configurable:true, enumerable:true, get:function onauxclick (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onauxclick_get", arguments)}, set:function onauxclick (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onauxclick_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ongotpointercapture", {configurable:true, enumerable:true, get:function ongotpointercapture (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ongotpointercapture_get", arguments)}, set:function ongotpointercapture (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ongotpointercapture_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onlostpointercapture", {configurable:true, enumerable:true, get:function onlostpointercapture (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onlostpointercapture_get", arguments)}, set:function onlostpointercapture (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onlostpointercapture_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onpointerdown", {configurable:true, enumerable:true, get:function onpointerdown (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerdown_get", arguments)}, set:function onpointerdown (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerdown_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onpointermove", {configurable:true, enumerable:true, get:function onpointermove (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointermove_get", arguments)}, set:function onpointermove (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointermove_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onpointerup", {configurable:true, enumerable:true, get:function onpointerup (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerup_get", arguments)}, set:function onpointerup (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerup_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onpointercancel", {configurable:true, enumerable:true, get:function onpointercancel (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointercancel_get", arguments)}, set:function onpointercancel (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointercancel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onpointerover", {configurable:true, enumerable:true, get:function onpointerover (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerover_get", arguments)}, set:function onpointerover (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerover_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onpointerout", {configurable:true, enumerable:true, get:function onpointerout (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerout_get", arguments)}, set:function onpointerout (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerout_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onpointerenter", {configurable:true, enumerable:true, get:function onpointerenter (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerenter_get", arguments)}, set:function onpointerenter (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerenter_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onpointerleave", {configurable:true, enumerable:true, get:function onpointerleave (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerleave_get", arguments)}, set:function onpointerleave (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerleave_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onselectstart", {configurable:true, enumerable:true, get:function onselectstart (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onselectstart_get", arguments)}, set:function onselectstart (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onselectstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onselectionchange", {configurable:true, enumerable:true, get:function onselectionchange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onselectionchange_get", arguments)}, set:function onselectionchange (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onselectionchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onanimationend", {configurable:true, enumerable:true, get:function onanimationend (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onanimationend_get", arguments)}, set:function onanimationend (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onanimationend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onanimationiteration", {configurable:true, enumerable:true, get:function onanimationiteration (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onanimationiteration_get", arguments)}, set:function onanimationiteration (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onanimationiteration_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onanimationstart", {configurable:true, enumerable:true, get:function onanimationstart (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onanimationstart_get", arguments)}, set:function onanimationstart (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onanimationstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ontransitionrun", {configurable:true, enumerable:true, get:function ontransitionrun (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ontransitionrun_get", arguments)}, set:function ontransitionrun (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ontransitionrun_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ontransitionstart", {configurable:true, enumerable:true, get:function ontransitionstart (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ontransitionstart_get", arguments)}, set:function ontransitionstart (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ontransitionstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ontransitionend", {configurable:true, enumerable:true, get:function ontransitionend (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ontransitionend_get", arguments)}, set:function ontransitionend (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ontransitionend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "ontransitioncancel", {configurable:true, enumerable:true, get:function ontransitioncancel (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ontransitioncancel_get", arguments)}, set:function ontransitioncancel (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "ontransitioncancel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "oncopy", {configurable:true, enumerable:true, get:function oncopy (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncopy_get", arguments)}, set:function oncopy (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncopy_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "oncut", {configurable:true, enumerable:true, get:function oncut (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncut_get", arguments)}, set:function oncut (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "oncut_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onpaste", {configurable:true, enumerable:true, get:function onpaste (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpaste_get", arguments)}, set:function onpaste (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpaste_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "dataset", {configurable:true, enumerable:true, get:function dataset (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "dataset_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "nonce", {configurable:true, enumerable:true, get:function nonce (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "nonce_get", arguments)}, set:function nonce (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "nonce_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "autofocus", {configurable:true, enumerable:true, get:function autofocus (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "autofocus_get", arguments)}, set:function autofocus (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "autofocus_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "tabIndex", {configurable:true, enumerable:true, get:function tabIndex (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "tabIndex_get", arguments)}, set:function tabIndex (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "tabIndex_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "style", {configurable:true, enumerable:true, get:function style (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "style_get", arguments)}, set:function style (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "style_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "blur", {configurable:true, enumerable:true, writable:true, value:function blur (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "blur", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "focus", {configurable:true, enumerable:true, writable:true, value:function focus (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "focus", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onpointerrawupdate", {configurable:true, enumerable:true, get:function onpointerrawupdate (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerrawupdate_get", arguments)}, set:function onpointerrawupdate (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onpointerrawupdate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGElement.prototype, "onbeforematch", {configurable:true, enumerable:true, get:function onbeforematch (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onbeforematch_get", arguments)}, set:function onbeforematch (){return bodavm.toolsFunc.dispatch(this, SVGElement.prototype, "SVGElement", "onbeforematch_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/SVGGElement.js b/env_xbb_lastest_cheerio/env/SVGGElement.js
deleted file mode 100644
index 4ff74697..00000000
--- a/env_xbb_lastest_cheerio/env/SVGGElement.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// SVGGElement对象
-SVGGElement = function SVGGElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(SVGGElement, "SVGGElement");
-SVGGElement.prototype.__proto__=SVGGraphicsElement.prototype;
-SVGGElement.__proto__=SVGGraphicsElement;
diff --git a/env_xbb_lastest_cheerio/env/SVGGeometryElement.js b/env_xbb_lastest_cheerio/env/SVGGeometryElement.js
deleted file mode 100644
index 2a2933e8..00000000
--- a/env_xbb_lastest_cheerio/env/SVGGeometryElement.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// SVGGeometryElement对象
-SVGGeometryElement = function SVGGeometryElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(SVGGeometryElement, "SVGGeometryElement");
-SVGGeometryElement.prototype.__proto__=SVGGraphicsElement.prototype;
-SVGGeometryElement.__proto__=SVGGraphicsElement;
-bodavm.toolsFunc.defineProperty(SVGGeometryElement.prototype, "pathLength", {configurable:true, enumerable:true, get:function pathLength (){return bodavm.toolsFunc.dispatch(this, SVGGeometryElement.prototype, "SVGGeometryElement", "pathLength_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGGeometryElement.prototype, "getPointAtLength", {configurable:true, enumerable:true, writable:true, value:function getPointAtLength (){return bodavm.toolsFunc.dispatch(this, SVGGeometryElement.prototype, "SVGGeometryElement", "getPointAtLength", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGGeometryElement.prototype, "getTotalLength", {configurable:true, enumerable:true, writable:true, value:function getTotalLength (){return bodavm.toolsFunc.dispatch(this, SVGGeometryElement.prototype, "SVGGeometryElement", "getTotalLength", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGGeometryElement.prototype, "isPointInFill", {configurable:true, enumerable:true, writable:true, value:function isPointInFill (){return bodavm.toolsFunc.dispatch(this, SVGGeometryElement.prototype, "SVGGeometryElement", "isPointInFill", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGGeometryElement.prototype, "isPointInStroke", {configurable:true, enumerable:true, writable:true, value:function isPointInStroke (){return bodavm.toolsFunc.dispatch(this, SVGGeometryElement.prototype, "SVGGeometryElement", "isPointInStroke", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/SVGGraphicsElement.js b/env_xbb_lastest_cheerio/env/SVGGraphicsElement.js
deleted file mode 100644
index a3dbf73f..00000000
--- a/env_xbb_lastest_cheerio/env/SVGGraphicsElement.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// SVGGraphicsElement对象
-SVGGraphicsElement = function SVGGraphicsElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(SVGGraphicsElement, "SVGGraphicsElement");
-SVGGraphicsElement.prototype.__proto__=SVGElement.prototype;
-SVGGraphicsElement.__proto__=SVGElement;
-bodavm.toolsFunc.defineProperty(SVGGraphicsElement.prototype, "transform", {configurable:true, enumerable:true, get:function transform (){return bodavm.toolsFunc.dispatch(this, SVGGraphicsElement.prototype, "SVGGraphicsElement", "transform_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGGraphicsElement.prototype, "nearestViewportElement", {configurable:true, enumerable:true, get:function nearestViewportElement (){return bodavm.toolsFunc.dispatch(this, SVGGraphicsElement.prototype, "SVGGraphicsElement", "nearestViewportElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGGraphicsElement.prototype, "farthestViewportElement", {configurable:true, enumerable:true, get:function farthestViewportElement (){return bodavm.toolsFunc.dispatch(this, SVGGraphicsElement.prototype, "SVGGraphicsElement", "farthestViewportElement_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGGraphicsElement.prototype, "requiredExtensions", {configurable:true, enumerable:true, get:function requiredExtensions (){return bodavm.toolsFunc.dispatch(this, SVGGraphicsElement.prototype, "SVGGraphicsElement", "requiredExtensions_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGGraphicsElement.prototype, "systemLanguage", {configurable:true, enumerable:true, get:function systemLanguage (){return bodavm.toolsFunc.dispatch(this, SVGGraphicsElement.prototype, "SVGGraphicsElement", "systemLanguage_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGGraphicsElement.prototype, "getBBox", {configurable:true, enumerable:true, writable:true, value:function getBBox (){return bodavm.toolsFunc.dispatch(this, SVGGraphicsElement.prototype, "SVGGraphicsElement", "getBBox", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGGraphicsElement.prototype, "getCTM", {configurable:true, enumerable:true, writable:true, value:function getCTM (){return bodavm.toolsFunc.dispatch(this, SVGGraphicsElement.prototype, "SVGGraphicsElement", "getCTM", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGGraphicsElement.prototype, "getScreenCTM", {configurable:true, enumerable:true, writable:true, value:function getScreenCTM (){return bodavm.toolsFunc.dispatch(this, SVGGraphicsElement.prototype, "SVGGraphicsElement", "getScreenCTM", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/SVGPathElement.js b/env_xbb_lastest_cheerio/env/SVGPathElement.js
deleted file mode 100644
index c4edafaf..00000000
--- a/env_xbb_lastest_cheerio/env/SVGPathElement.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// SVGPathElement对象
-SVGPathElement = function SVGPathElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(SVGPathElement, "SVGPathElement");
-SVGPathElement.prototype.__proto__=SVGGeometryElement.prototype;
-SVGPathElement.__proto__=SVGGeometryElement;
diff --git a/env_xbb_lastest_cheerio/env/SVGPatternElement.js b/env_xbb_lastest_cheerio/env/SVGPatternElement.js
deleted file mode 100644
index 1f76e80e..00000000
--- a/env_xbb_lastest_cheerio/env/SVGPatternElement.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// SVGPatternElement对象
-SVGPatternElement = function SVGPatternElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(SVGPatternElement, "SVGPatternElement");
-SVGPatternElement.prototype.__proto__=SVGElement.prototype;
-SVGPatternElement.__proto__=SVGElement;
-bodavm.toolsFunc.defineProperty(SVGPatternElement.prototype, "patternUnits", {configurable:true, enumerable:true, get:function patternUnits (){return bodavm.toolsFunc.dispatch(this, SVGPatternElement.prototype, "SVGPatternElement", "patternUnits_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGPatternElement.prototype, "patternContentUnits", {configurable:true, enumerable:true, get:function patternContentUnits (){return bodavm.toolsFunc.dispatch(this, SVGPatternElement.prototype, "SVGPatternElement", "patternContentUnits_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGPatternElement.prototype, "patternTransform", {configurable:true, enumerable:true, get:function patternTransform (){return bodavm.toolsFunc.dispatch(this, SVGPatternElement.prototype, "SVGPatternElement", "patternTransform_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGPatternElement.prototype, "x", {configurable:true, enumerable:true, get:function x (){return bodavm.toolsFunc.dispatch(this, SVGPatternElement.prototype, "SVGPatternElement", "x_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGPatternElement.prototype, "y", {configurable:true, enumerable:true, get:function y (){return bodavm.toolsFunc.dispatch(this, SVGPatternElement.prototype, "SVGPatternElement", "y_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGPatternElement.prototype, "width", {configurable:true, enumerable:true, get:function width (){return bodavm.toolsFunc.dispatch(this, SVGPatternElement.prototype, "SVGPatternElement", "width_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGPatternElement.prototype, "height", {configurable:true, enumerable:true, get:function height (){return bodavm.toolsFunc.dispatch(this, SVGPatternElement.prototype, "SVGPatternElement", "height_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGPatternElement.prototype, "viewBox", {configurable:true, enumerable:true, get:function viewBox (){return bodavm.toolsFunc.dispatch(this, SVGPatternElement.prototype, "SVGPatternElement", "viewBox_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGPatternElement.prototype, "preserveAspectRatio", {configurable:true, enumerable:true, get:function preserveAspectRatio (){return bodavm.toolsFunc.dispatch(this, SVGPatternElement.prototype, "SVGPatternElement", "preserveAspectRatio_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGPatternElement.prototype, "href", {configurable:true, enumerable:true, get:function href (){return bodavm.toolsFunc.dispatch(this, SVGPatternElement.prototype, "SVGPatternElement", "href_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGPatternElement.prototype, "requiredExtensions", {configurable:true, enumerable:true, get:function requiredExtensions (){return bodavm.toolsFunc.dispatch(this, SVGPatternElement.prototype, "SVGPatternElement", "requiredExtensions_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGPatternElement.prototype, "systemLanguage", {configurable:true, enumerable:true, get:function systemLanguage (){return bodavm.toolsFunc.dispatch(this, SVGPatternElement.prototype, "SVGPatternElement", "systemLanguage_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/SVGSVGElement.js b/env_xbb_lastest_cheerio/env/SVGSVGElement.js
deleted file mode 100644
index aef4b51c..00000000
--- a/env_xbb_lastest_cheerio/env/SVGSVGElement.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// SVGSVGElement对象
-SVGSVGElement = function SVGSVGElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(SVGSVGElement, "SVGSVGElement");
-SVGSVGElement.prototype.__proto__=SVGGraphicsElement.prototype;
-SVGSVGElement.__proto__=SVGGraphicsElement;
-bodavm.toolsFunc.defineProperty(SVGSVGElement, "SVG_ZOOMANDPAN_UNKNOWN", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(SVGSVGElement, "SVG_ZOOMANDPAN_DISABLE", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(SVGSVGElement, "SVG_ZOOMANDPAN_MAGNIFY", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "x", {configurable:true, enumerable:true, get:function x (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "x_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "y", {configurable:true, enumerable:true, get:function y (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "y_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "width", {configurable:true, enumerable:true, get:function width (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "width_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "height", {configurable:true, enumerable:true, get:function height (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "height_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "currentScale", {configurable:true, enumerable:true, get:function currentScale (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "currentScale_get", arguments)}, set:function currentScale (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "currentScale_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "currentTranslate", {configurable:true, enumerable:true, get:function currentTranslate (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "currentTranslate_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "viewBox", {configurable:true, enumerable:true, get:function viewBox (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "viewBox_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "preserveAspectRatio", {configurable:true, enumerable:true, get:function preserveAspectRatio (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "preserveAspectRatio_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "zoomAndPan", {configurable:true, enumerable:true, get:function zoomAndPan (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "zoomAndPan_get", arguments)}, set:function zoomAndPan (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "zoomAndPan_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "SVG_ZOOMANDPAN_UNKNOWN", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "SVG_ZOOMANDPAN_DISABLE", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "SVG_ZOOMANDPAN_MAGNIFY", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "animationsPaused", {configurable:true, enumerable:true, writable:true, value:function animationsPaused (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "animationsPaused", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "checkEnclosure", {configurable:true, enumerable:true, writable:true, value:function checkEnclosure (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "checkEnclosure", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "checkIntersection", {configurable:true, enumerable:true, writable:true, value:function checkIntersection (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "checkIntersection", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "createSVGAngle", {configurable:true, enumerable:true, writable:true, value:function createSVGAngle (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "createSVGAngle", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "createSVGLength", {configurable:true, enumerable:true, writable:true, value:function createSVGLength (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "createSVGLength", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "createSVGMatrix", {configurable:true, enumerable:true, writable:true, value:function createSVGMatrix (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "createSVGMatrix", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "createSVGNumber", {configurable:true, enumerable:true, writable:true, value:function createSVGNumber (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "createSVGNumber", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "createSVGPoint", {configurable:true, enumerable:true, writable:true, value:function createSVGPoint (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "createSVGPoint", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "createSVGRect", {configurable:true, enumerable:true, writable:true, value:function createSVGRect (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "createSVGRect", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "createSVGTransform", {configurable:true, enumerable:true, writable:true, value:function createSVGTransform (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "createSVGTransform", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "createSVGTransformFromMatrix", {configurable:true, enumerable:true, writable:true, value:function createSVGTransformFromMatrix (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "createSVGTransformFromMatrix", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "deselectAll", {configurable:true, enumerable:true, writable:true, value:function deselectAll (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "deselectAll", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "forceRedraw", {configurable:true, enumerable:true, writable:true, value:function forceRedraw (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "forceRedraw", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "getCurrentTime", {configurable:true, enumerable:true, writable:true, value:function getCurrentTime (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "getCurrentTime", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "getElementById", {configurable:true, enumerable:true, writable:true, value:function getElementById (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "getElementById", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "getEnclosureList", {configurable:true, enumerable:true, writable:true, value:function getEnclosureList (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "getEnclosureList", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "getIntersectionList", {configurable:true, enumerable:true, writable:true, value:function getIntersectionList (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "getIntersectionList", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "pauseAnimations", {configurable:true, enumerable:true, writable:true, value:function pauseAnimations (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "pauseAnimations", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "setCurrentTime", {configurable:true, enumerable:true, writable:true, value:function setCurrentTime (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "setCurrentTime", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "suspendRedraw", {configurable:true, enumerable:true, writable:true, value:function suspendRedraw (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "suspendRedraw", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "unpauseAnimations", {configurable:true, enumerable:true, writable:true, value:function unpauseAnimations (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "unpauseAnimations", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "unsuspendRedraw", {configurable:true, enumerable:true, writable:true, value:function unsuspendRedraw (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "unsuspendRedraw", arguments)}});
-bodavm.toolsFunc.defineProperty(SVGSVGElement.prototype, "unsuspendRedrawAll", {configurable:true, enumerable:true, writable:true, value:function unsuspendRedrawAll (){return bodavm.toolsFunc.dispatch(this, SVGSVGElement.prototype, "SVGSVGElement", "unsuspendRedrawAll", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/SVGSymbolElement.js b/env_xbb_lastest_cheerio/env/SVGSymbolElement.js
deleted file mode 100644
index 9f433100..00000000
--- a/env_xbb_lastest_cheerio/env/SVGSymbolElement.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// SVGSymbolElement对象
-SVGSymbolElement = function SVGSymbolElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(SVGSymbolElement, "SVGSymbolElement");
-SVGSymbolElement.prototype.__proto__=SVGElement.prototype;
-SVGSymbolElement.__proto__=SVGElement;
-bodavm.toolsFunc.defineProperty(SVGSymbolElement.prototype, "viewBox", {configurable:true, enumerable:true, get:function viewBox (){return bodavm.toolsFunc.dispatch(this, SVGSymbolElement.prototype, "SVGSymbolElement", "viewBox_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGSymbolElement.prototype, "preserveAspectRatio", {configurable:true, enumerable:true, get:function preserveAspectRatio (){return bodavm.toolsFunc.dispatch(this, SVGSymbolElement.prototype, "SVGSymbolElement", "preserveAspectRatio_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/SVGUseElement.js b/env_xbb_lastest_cheerio/env/SVGUseElement.js
deleted file mode 100644
index 317dcb76..00000000
--- a/env_xbb_lastest_cheerio/env/SVGUseElement.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// SVGUseElement对象
-SVGUseElement = function SVGUseElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(SVGUseElement, "SVGUseElement");
-SVGUseElement.prototype.__proto__=SVGGraphicsElement.prototype;
-SVGUseElement.__proto__=SVGGraphicsElement;
-bodavm.toolsFunc.defineProperty(SVGUseElement.prototype, "x", {configurable:true, enumerable:true, get:function x (){return bodavm.toolsFunc.dispatch(this, SVGUseElement.prototype, "SVGUseElement", "x_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGUseElement.prototype, "y", {configurable:true, enumerable:true, get:function y (){return bodavm.toolsFunc.dispatch(this, SVGUseElement.prototype, "SVGUseElement", "y_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGUseElement.prototype, "width", {configurable:true, enumerable:true, get:function width (){return bodavm.toolsFunc.dispatch(this, SVGUseElement.prototype, "SVGUseElement", "width_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGUseElement.prototype, "height", {configurable:true, enumerable:true, get:function height (){return bodavm.toolsFunc.dispatch(this, SVGUseElement.prototype, "SVGUseElement", "height_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SVGUseElement.prototype, "href", {configurable:true, enumerable:true, get:function href (){return bodavm.toolsFunc.dispatch(this, SVGUseElement.prototype, "SVGUseElement", "href_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/Scheduler.js b/env_xbb_lastest_cheerio/env/Scheduler.js
deleted file mode 100644
index b656ebad..00000000
--- a/env_xbb_lastest_cheerio/env/Scheduler.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// Scheduler对象
-Scheduler = function Scheduler(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(Scheduler, "Scheduler");
-bodavm.toolsFunc.defineProperty(Scheduler.prototype, "postTask", {configurable:true, enumerable:true, writable:true, value:function postTask (){return bodavm.toolsFunc.dispatch(this, Scheduler.prototype, "Scheduler", "postTask", arguments)}});
-
-
-// scheduler对象
-var scheduler = {}
-scheduler.__proto__=Scheduler.prototype;
diff --git a/env_xbb_lastest_cheerio/env/Screen.js b/env_xbb_lastest_cheerio/env/Screen.js
deleted file mode 100644
index d6894d99..00000000
--- a/env_xbb_lastest_cheerio/env/Screen.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Screen对象
-Screen = function Screen(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(Screen, "Screen");
-Screen.prototype.__proto__=EventTarget.prototype;
-Screen.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(Screen.prototype, "availWidth", {configurable:true, enumerable:true, get:function availWidth (){return bodavm.toolsFunc.dispatch(this, Screen.prototype, "Screen", "availWidth_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Screen.prototype, "availHeight", {configurable:true, enumerable:true, get:function availHeight (){return bodavm.toolsFunc.dispatch(this, Screen.prototype, "Screen", "availHeight_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Screen.prototype, "width", {configurable:true, enumerable:true, get:function width (){return bodavm.toolsFunc.dispatch(this, Screen.prototype, "Screen", "width_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Screen.prototype, "height", {configurable:true, enumerable:true, get:function height (){return bodavm.toolsFunc.dispatch(this, Screen.prototype, "Screen", "height_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Screen.prototype, "colorDepth", {configurable:true, enumerable:true, get:function colorDepth (){return bodavm.toolsFunc.dispatch(this, Screen.prototype, "Screen", "colorDepth_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Screen.prototype, "pixelDepth", {configurable:true, enumerable:true, get:function pixelDepth (){return bodavm.toolsFunc.dispatch(this, Screen.prototype, "Screen", "pixelDepth_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Screen.prototype, "availLeft", {configurable:true, enumerable:true, get:function availLeft (){return bodavm.toolsFunc.dispatch(this, Screen.prototype, "Screen", "availLeft_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Screen.prototype, "availTop", {configurable:true, enumerable:true, get:function availTop (){return bodavm.toolsFunc.dispatch(this, Screen.prototype, "Screen", "availTop_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Screen.prototype, "orientation", {configurable:true, enumerable:true, get:function orientation (){return bodavm.toolsFunc.dispatch(this, Screen.prototype, "Screen", "orientation_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Screen.prototype, "onchange", {configurable:true, enumerable:true, get:function onchange (){return bodavm.toolsFunc.dispatch(this, Screen.prototype, "Screen", "onchange_get", arguments)}, set:function onchange (){return bodavm.toolsFunc.dispatch(this, Screen.prototype, "Screen", "onchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Screen.prototype, "isExtended", {configurable:true, enumerable:true, get:function isExtended (){return bodavm.toolsFunc.dispatch(this, Screen.prototype, "Screen", "isExtended_get", arguments)}, set:undefined});
-// screen对象
-var screen = {}
-screen.__proto__=Screen.prototype;
-
-
-
-
diff --git a/env_xbb_lastest_cheerio/env/ScreenOrientation.js b/env_xbb_lastest_cheerio/env/ScreenOrientation.js
deleted file mode 100644
index c9b84b0e..00000000
--- a/env_xbb_lastest_cheerio/env/ScreenOrientation.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// ScreenOrientation对象
-ScreenOrientation = function ScreenOrientation(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(ScreenOrientation, "ScreenOrientation");
-ScreenOrientation.prototype.__proto__=EventTarget.prototype;
-ScreenOrientation.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(ScreenOrientation.prototype, "angle", {configurable:true, enumerable:true, get:function angle (){return bodavm.toolsFunc.dispatch(this, ScreenOrientation.prototype, "ScreenOrientation", "angle_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(ScreenOrientation.prototype, "type", {configurable:true, enumerable:true, get:function type (){return bodavm.toolsFunc.dispatch(this, ScreenOrientation.prototype, "ScreenOrientation", "type_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(ScreenOrientation.prototype, "onchange", {configurable:true, enumerable:true, get:function onchange (){return bodavm.toolsFunc.dispatch(this, ScreenOrientation.prototype, "ScreenOrientation", "onchange_get", arguments)}, set:function onchange (){return bodavm.toolsFunc.dispatch(this, ScreenOrientation.prototype, "ScreenOrientation", "onchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(ScreenOrientation.prototype, "lock", {configurable:true, enumerable:true, writable:true, value:function lock (){return bodavm.toolsFunc.dispatch(this, ScreenOrientation.prototype, "ScreenOrientation", "lock", arguments)}});
-bodavm.toolsFunc.defineProperty(ScreenOrientation.prototype, "unlock", {configurable:true, enumerable:true, writable:true, value:function unlock (){return bodavm.toolsFunc.dispatch(this, ScreenOrientation.prototype, "ScreenOrientation", "unlock", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/SourceBuffer.js b/env_xbb_lastest_cheerio/env/SourceBuffer.js
deleted file mode 100644
index 8cae45f3..00000000
--- a/env_xbb_lastest_cheerio/env/SourceBuffer.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// SourceBuffer对象
-SourceBuffer = function SourceBuffer(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(SourceBuffer, "SourceBuffer");
-SourceBuffer.prototype.__proto__=EventTarget.prototype;
-SourceBuffer.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "mode", {configurable:true, enumerable:true, get:function mode (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "mode_get", arguments)}, set:function mode (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "mode_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "updating", {configurable:true, enumerable:true, get:function updating (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "updating_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "buffered", {configurable:true, enumerable:true, get:function buffered (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "buffered_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "timestampOffset", {configurable:true, enumerable:true, get:function timestampOffset (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "timestampOffset_get", arguments)}, set:function timestampOffset (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "timestampOffset_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "appendWindowStart", {configurable:true, enumerable:true, get:function appendWindowStart (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "appendWindowStart_get", arguments)}, set:function appendWindowStart (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "appendWindowStart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "appendWindowEnd", {configurable:true, enumerable:true, get:function appendWindowEnd (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "appendWindowEnd_get", arguments)}, set:function appendWindowEnd (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "appendWindowEnd_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "onupdatestart", {configurable:true, enumerable:true, get:function onupdatestart (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "onupdatestart_get", arguments)}, set:function onupdatestart (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "onupdatestart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "onupdate", {configurable:true, enumerable:true, get:function onupdate (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "onupdate_get", arguments)}, set:function onupdate (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "onupdate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "onupdateend", {configurable:true, enumerable:true, get:function onupdateend (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "onupdateend_get", arguments)}, set:function onupdateend (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "onupdateend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "onerror", {configurable:true, enumerable:true, get:function onerror (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "onerror_get", arguments)}, set:function onerror (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "onerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "onabort", {configurable:true, enumerable:true, get:function onabort (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "onabort_get", arguments)}, set:function onabort (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "onabort_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "abort", {configurable:true, enumerable:true, writable:true, value:function abort (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "abort", arguments)}});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "appendBuffer", {configurable:true, enumerable:true, writable:true, value:function appendBuffer (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "appendBuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "changeType", {configurable:true, enumerable:true, writable:true, value:function changeType (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "changeType", arguments)}});
-bodavm.toolsFunc.defineProperty(SourceBuffer.prototype, "remove", {configurable:true, enumerable:true, writable:true, value:function remove (){return bodavm.toolsFunc.dispatch(this, SourceBuffer.prototype, "SourceBuffer", "remove", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/SpeechSynthesis.js b/env_xbb_lastest_cheerio/env/SpeechSynthesis.js
deleted file mode 100644
index 39aa1c4b..00000000
--- a/env_xbb_lastest_cheerio/env/SpeechSynthesis.js
+++ /dev/null
@@ -1,18 +0,0 @@
-SpeechSynthesis = function SpeechSynthesis() { return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor") }
-bodavm.toolsFunc.safeProto(SpeechSynthesis, "SpeechSynthesis");
-bodavm.toolsFunc.defineProperty(SpeechSynthesis.prototype, "cancel", { writable: true, enumerable: true, configurable: true, value: function cancel() { return bodavm.toolsFunc.dispatch(this, SpeechSynthesis.prototype, "SpeechSynthesis", "cancel", arguments) } });
-bodavm.toolsFunc.defineProperty(SpeechSynthesis.prototype, "getVoices", { writable: true, enumerable: true, configurable: true, value: function getVoices() { return bodavm.toolsFunc.dispatch(this, SpeechSynthesis.prototype, "SpeechSynthesis", "getVoices", arguments) } });
-bodavm.toolsFunc.defineProperty(SpeechSynthesis.prototype, "pause", { writable: true, enumerable: true, configurable: true, value: function pause() { return bodavm.toolsFunc.dispatch(this, SpeechSynthesis.prototype, "SpeechSynthesis", "pause", arguments) } });
-bodavm.toolsFunc.defineProperty(SpeechSynthesis.prototype, "resume", { writable: true, enumerable: true, configurable: true, value: function resume() { return bodavm.toolsFunc.dispatch(this, SpeechSynthesis.prototype, "SpeechSynthesis", "resume", arguments) } });
-bodavm.toolsFunc.defineProperty(SpeechSynthesis.prototype, "speak", { writable: true, enumerable: true, configurable: true, value: function speak() { return bodavm.toolsFunc.dispatch(this, SpeechSynthesis.prototype, "SpeechSynthesis", "speak", arguments) } });
-bodavm.toolsFunc.defineProperty(SpeechSynthesis.prototype, "paused", { set: undefined, enumerable: true, configurable: true, get: function paused() { return bodavm.toolsFunc.dispatch(this, SpeechSynthesis.prototype, "SpeechSynthesis", "paused_get ", arguments) } });
-bodavm.toolsFunc.defineProperty(SpeechSynthesis.prototype, "pending", { set: undefined, enumerable: true, configurable: true, get: function pending() { return bodavm.toolsFunc.dispatch(this, SpeechSynthesis.prototype, "SpeechSynthesis", "pending_get ", arguments) } });
-bodavm.toolsFunc.defineProperty(SpeechSynthesis.prototype, "speaking", { set: undefined, enumerable: true, configurable: true, get: function speaking() { return bodavm.toolsFunc.dispatch(this, SpeechSynthesis.prototype, "SpeechSynthesis", "speaking_get ", arguments) } });
-bodavm.toolsFunc.defineProperty(SpeechSynthesis.prototype, "onvoiceschanged", { configurable: true, enumerable: true, get: function onvoiceschanged() { return bodavm.toolsFunc.dispatch(this, SpeechSynthesis.prototype, "SpeechSynthesis", "onvoiceschanged_get ", arguments) }, set: function onvoiceschanged() { return bodavm.toolsFunc.dispatch(this, SpeechSynthesis.prototype, "SpeechSynthesis", "onvoiceschanged_set", arguments) } });
-
-
-// speechSynthesis对象
-var speechSynthesis = {}
-speechSynthesis.__proto__=SpeechSynthesis.prototype;
-
-delete SpeechSynthesis
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/env/SpeechSynthesisUtterance.js b/env_xbb_lastest_cheerio/env/SpeechSynthesisUtterance.js
deleted file mode 100644
index 74310d7a..00000000
--- a/env_xbb_lastest_cheerio/env/SpeechSynthesisUtterance.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// SpeechSynthesisUtterance对象
-SpeechSynthesisUtterance = function SpeechSynthesisUtterance(){}
-bodavm.toolsFunc.safeProto(SpeechSynthesisUtterance, "SpeechSynthesisUtterance");
-SpeechSynthesisUtterance.prototype.__proto__=EventTarget.prototype;
-SpeechSynthesisUtterance.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(SpeechSynthesisUtterance.prototype, "text", {configurable:true, enumerable:true, get:function text (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "text_get", arguments)}, set:function text (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "text_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SpeechSynthesisUtterance.prototype, "lang", {configurable:true, enumerable:true, get:function lang (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "lang_get", arguments)}, set:function lang (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "lang_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SpeechSynthesisUtterance.prototype, "voice", {configurable:true, enumerable:true, get:function voice (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "voice_get", arguments)}, set:function voice (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "voice_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SpeechSynthesisUtterance.prototype, "volume", {configurable:true, enumerable:true, get:function volume (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "volume_get", arguments)}, set:function volume (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "volume_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SpeechSynthesisUtterance.prototype, "rate", {configurable:true, enumerable:true, get:function rate (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "rate_get", arguments)}, set:function rate (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "rate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SpeechSynthesisUtterance.prototype, "pitch", {configurable:true, enumerable:true, get:function pitch (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "pitch_get", arguments)}, set:function pitch (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "pitch_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SpeechSynthesisUtterance.prototype, "onstart", {configurable:true, enumerable:true, get:function onstart (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onstart_get", arguments)}, set:function onstart (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SpeechSynthesisUtterance.prototype, "onend", {configurable:true, enumerable:true, get:function onend (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onend_get", arguments)}, set:function onend (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onend_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SpeechSynthesisUtterance.prototype, "onerror", {configurable:true, enumerable:true, get:function onerror (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onerror_get", arguments)}, set:function onerror (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SpeechSynthesisUtterance.prototype, "onpause", {configurable:true, enumerable:true, get:function onpause (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onpause_get", arguments)}, set:function onpause (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onpause_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SpeechSynthesisUtterance.prototype, "onresume", {configurable:true, enumerable:true, get:function onresume (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onresume_get", arguments)}, set:function onresume (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onresume_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SpeechSynthesisUtterance.prototype, "onmark", {configurable:true, enumerable:true, get:function onmark (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onmark_get", arguments)}, set:function onmark (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onmark_set", arguments)}});
-bodavm.toolsFunc.defineProperty(SpeechSynthesisUtterance.prototype, "onboundary", {configurable:true, enumerable:true, get:function onboundary (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onboundary_get", arguments)}, set:function onboundary (){return bodavm.toolsFunc.dispatch(this, SpeechSynthesisUtterance.prototype, "SpeechSynthesisUtterance", "onboundary_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/Storage.js b/env_xbb_lastest_cheerio/env/Storage.js
deleted file mode 100644
index 896004eb..00000000
--- a/env_xbb_lastest_cheerio/env/Storage.js
+++ /dev/null
@@ -1,19 +0,0 @@
-
-//Storage对象
-Storage=function Storage(){return bodavm.toolsFunc.throwError("TypeError","Illegal constructor")}
-bodavm.toolsFunc.safeProto(Storage,"Storage");
-bodavm.toolsFunc.defineProperty(Storage.prototype,"length",{configurable:true, enumerable:true, get:function length () {return bodavm.toolsFunc.dispatch(this,Storage.prototype,"Storage","length_get",arguments,)},set:undefined});
-bodavm.toolsFunc.defineProperty(Storage.prototype,"clear",{configurable:true, enumerable:true, writable:true, value:function clear() {return bodavm.toolsFunc.dispatch(this,Storage.prototype,"Storage","clear",arguments)}});
-bodavm.toolsFunc.defineProperty(Storage.prototype,"getItem",{configurable:true, enumerable:true, writable:true, value:function getItem() {return bodavm.toolsFunc.dispatch(this,Storage.prototype,"Storage","getItem",arguments)}});
-bodavm.toolsFunc.defineProperty(Storage.prototype,"key",{configurable:true, enumerable:true, writable:true, value:function key() {return bodavm.toolsFunc.dispatch(this,Storage.prototype,"Storage","key",arguments)}});
-bodavm.toolsFunc.defineProperty(Storage.prototype,"removeItem",{configurable:true, enumerable:true, writable:true, value:function removeItem() {return bodavm.toolsFunc.dispatch(this,Storage.prototype,"Storage","removeItem",arguments)}});
-bodavm.toolsFunc.defineProperty(Storage.prototype,"setItem",{configurable:true, enumerable:true, writable:true, value:function setItem() {return bodavm.toolsFunc.dispatch(this,Storage.prototype,"Storage","setItem",arguments)}});
-
-
-var localStorage= {}
-localStorage.__proto__=Storage.prototype;
-// sessionStorage对象
-var sessionStorage= {}
-sessionStorage.__proto__=Storage.prototype;
-// debugger;
-
diff --git a/env_xbb_lastest_cheerio/env/StyleMedia.js b/env_xbb_lastest_cheerio/env/StyleMedia.js
deleted file mode 100644
index 65c50fdb..00000000
--- a/env_xbb_lastest_cheerio/env/StyleMedia.js
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-StyleMedia = function StyleMedia() { return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor") }
-bodavm.toolsFunc.safeProto(StyleMedia, "StyleMedia");
-bodavm.toolsFunc.defineProperty(StyleMedia.prototype, "matchMedium", { configurable: true, enumerable: true, get: function matchMedium() { return bodavm.toolsFunc.dispatch(this, StyleMedia.prototype, "StyleMedia", "matchMedium", arguments) }, set: undefined });
-
-// styleMedia对象
-var styleMedia = {}
-styleMedia.__proto__=StyleMedia.prototype;
diff --git a/env_xbb_lastest_cheerio/env/Text.js b/env_xbb_lastest_cheerio/env/Text.js
deleted file mode 100644
index 872ce4f1..00000000
--- a/env_xbb_lastest_cheerio/env/Text.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// Text对象
-Text = function Text(){}
-bodavm.toolsFunc.safeProto(Text, "Text");
-Text.prototype.__proto__=CharacterData.prototype;
-Text.__proto__=CharacterData;
-bodavm.toolsFunc.defineProperty(Text.prototype, "wholeText", {configurable:true, enumerable:true, get:function wholeText (){return bodavm.toolsFunc.dispatch(this, Text.prototype, "Text", "wholeText_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Text.prototype, "assignedSlot", {configurable:true, enumerable:true, get:function assignedSlot (){return bodavm.toolsFunc.dispatch(this, Text.prototype, "Text", "assignedSlot_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Text.prototype, "splitText", {configurable:true, enumerable:true, writable:true, value:function splitText (){return bodavm.toolsFunc.dispatch(this, Text.prototype, "Text", "splitText", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/TextTrackList.js b/env_xbb_lastest_cheerio/env/TextTrackList.js
deleted file mode 100644
index 6c56b665..00000000
--- a/env_xbb_lastest_cheerio/env/TextTrackList.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// TextTrackList对象
-TextTrackList = function TextTrackList(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(TextTrackList, "TextTrackList");
-TextTrackList.prototype.__proto__=EventTarget.prototype;
-TextTrackList.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(TextTrackList.prototype, "length", {configurable:true, enumerable:true, get:function length (){return bodavm.toolsFunc.dispatch(this, TextTrackList.prototype, "TextTrackList", "length_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(TextTrackList.prototype, "onchange", {configurable:true, enumerable:true, get:function onchange (){return bodavm.toolsFunc.dispatch(this, TextTrackList.prototype, "TextTrackList", "onchange_get", arguments)}, set:function onchange (){return bodavm.toolsFunc.dispatch(this, TextTrackList.prototype, "TextTrackList", "onchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(TextTrackList.prototype, "onaddtrack", {configurable:true, enumerable:true, get:function onaddtrack (){return bodavm.toolsFunc.dispatch(this, TextTrackList.prototype, "TextTrackList", "onaddtrack_get", arguments)}, set:function onaddtrack (){return bodavm.toolsFunc.dispatch(this, TextTrackList.prototype, "TextTrackList", "onaddtrack_set", arguments)}});
-bodavm.toolsFunc.defineProperty(TextTrackList.prototype, "onremovetrack", {configurable:true, enumerable:true, get:function onremovetrack (){return bodavm.toolsFunc.dispatch(this, TextTrackList.prototype, "TextTrackList", "onremovetrack_get", arguments)}, set:function onremovetrack (){return bodavm.toolsFunc.dispatch(this, TextTrackList.prototype, "TextTrackList", "onremovetrack_set", arguments)}});
-bodavm.toolsFunc.defineProperty(TextTrackList.prototype, "getTrackById", {configurable:true, enumerable:true, writable:true, value:function getTrackById (){return bodavm.toolsFunc.dispatch(this, TextTrackList.prototype, "TextTrackList", "getTrackById", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/TrustedTypePolicyFactory.js b/env_xbb_lastest_cheerio/env/TrustedTypePolicyFactory.js
deleted file mode 100644
index 774ad523..00000000
--- a/env_xbb_lastest_cheerio/env/TrustedTypePolicyFactory.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// TrustedTypePolicyFactory对象
-TrustedTypePolicyFactory = function TrustedTypePolicyFactory(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(TrustedTypePolicyFactory, "TrustedTypePolicyFactory");
-TrustedTypePolicyFactory.prototype.__proto__=EventTarget.prototype;
-TrustedTypePolicyFactory.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(TrustedTypePolicyFactory.prototype, "emptyHTML", {configurable:true, enumerable:true, get:function emptyHTML (){return bodavm.toolsFunc.dispatch(this, TrustedTypePolicyFactory.prototype, "TrustedTypePolicyFactory", "emptyHTML_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(TrustedTypePolicyFactory.prototype, "emptyScript", {configurable:true, enumerable:true, get:function emptyScript (){return bodavm.toolsFunc.dispatch(this, TrustedTypePolicyFactory.prototype, "TrustedTypePolicyFactory", "emptyScript_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(TrustedTypePolicyFactory.prototype, "defaultPolicy", {configurable:true, enumerable:true, get:function defaultPolicy (){return bodavm.toolsFunc.dispatch(this, TrustedTypePolicyFactory.prototype, "TrustedTypePolicyFactory", "defaultPolicy_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(TrustedTypePolicyFactory.prototype, "createPolicy", {configurable:true, enumerable:true, writable:true, value:function createPolicy (){return bodavm.toolsFunc.dispatch(this, TrustedTypePolicyFactory.prototype, "TrustedTypePolicyFactory", "createPolicy", arguments)}});
-bodavm.toolsFunc.defineProperty(TrustedTypePolicyFactory.prototype, "getAttributeType", {configurable:true, enumerable:true, writable:true, value:function getAttributeType (){return bodavm.toolsFunc.dispatch(this, TrustedTypePolicyFactory.prototype, "TrustedTypePolicyFactory", "getAttributeType", arguments)}});
-bodavm.toolsFunc.defineProperty(TrustedTypePolicyFactory.prototype, "getPropertyType", {configurable:true, enumerable:true, writable:true, value:function getPropertyType (){return bodavm.toolsFunc.dispatch(this, TrustedTypePolicyFactory.prototype, "TrustedTypePolicyFactory", "getPropertyType", arguments)}});
-bodavm.toolsFunc.defineProperty(TrustedTypePolicyFactory.prototype, "getTypeMapping", {configurable:true, enumerable:true, writable:true, value:function getTypeMapping (){return bodavm.toolsFunc.dispatch(this, TrustedTypePolicyFactory.prototype, "TrustedTypePolicyFactory", "getTypeMapping", arguments)}});
-bodavm.toolsFunc.defineProperty(TrustedTypePolicyFactory.prototype, "isHTML", {configurable:true, enumerable:true, writable:true, value:function isHTML (){return bodavm.toolsFunc.dispatch(this, TrustedTypePolicyFactory.prototype, "TrustedTypePolicyFactory", "isHTML", arguments)}});
-bodavm.toolsFunc.defineProperty(TrustedTypePolicyFactory.prototype, "isScript", {configurable:true, enumerable:true, writable:true, value:function isScript (){return bodavm.toolsFunc.dispatch(this, TrustedTypePolicyFactory.prototype, "TrustedTypePolicyFactory", "isScript", arguments)}});
-bodavm.toolsFunc.defineProperty(TrustedTypePolicyFactory.prototype, "isScriptURL", {configurable:true, enumerable:true, writable:true, value:function isScriptURL (){return bodavm.toolsFunc.dispatch(this, TrustedTypePolicyFactory.prototype, "TrustedTypePolicyFactory", "isScriptURL", arguments)}});
-
-var trustedTypes = {}
-trustedTypes.__proto__ = TrustedTypePolicyFactory.prototype
-
diff --git a/env_xbb_lastest_cheerio/env/UIEvent.js b/env_xbb_lastest_cheerio/env/UIEvent.js
deleted file mode 100644
index 53f45917..00000000
--- a/env_xbb_lastest_cheerio/env/UIEvent.js
+++ /dev/null
@@ -1,15 +0,0 @@
-//UIEvent对象
-UIEvent = function UIEvent() {
- if (arguments.length < 1) {
- return bodavm.toolsFunc.throwError("TypeError", "Failed to construct 'UIEvent': 1 argument required, but only 0 present.")
- }
-
-}
-bodavm.toolsFunc.safeProto(UIEvent, "UIEvent");
-UIEvent.prototype.__proto__ = Event.prototype;
-UIEvent.__proto__ = Event;
-bodavm.toolsFunc.defineProperty(UIEvent.prototype, "view", { configurable: true, enumerable: true, get: function view() { return bodavm.toolsFunc.dispatch(this, UIEvent.prototype, "UIEvent", "view_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(UIEvent.prototype, "detail", { configurable: true, enumerable: true, get: function detail() { return bodavm.toolsFunc.dispatch(this, UIEvent.prototype, "UIEvent", "detail_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(UIEvent.prototype, "sourceCapabilities", { configurable: true, enumerable: true, get: function sourceCapabilities() { return bodavm.toolsFunc.dispatch(this, UIEvent.prototype, "UIEvent", "sourceCapabilities_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(UIEvent.prototype, "which", { configurable: true, enumerable: true, get: function which() { return bodavm.toolsFunc.dispatch(this, UIEvent.prototype, "UIEvent", "which_get", arguments) }, set: undefined });
-bodavm.toolsFunc.defineProperty(UIEvent.prototype, "initUIEvent", { configurable: true, enumerable: true, writable: true, value: function initUIEvent() { return bodavm.toolsFunc.dispatch(this, UIEvent.prototype, "UIEvent", "initUIEvent", arguments) } });
diff --git a/env_xbb_lastest_cheerio/env/VisualViewport.js b/env_xbb_lastest_cheerio/env/VisualViewport.js
deleted file mode 100644
index d2f315ca..00000000
--- a/env_xbb_lastest_cheerio/env/VisualViewport.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// VisualViewport对象
-VisualViewport = function VisualViewport(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(VisualViewport, "VisualViewport");
-VisualViewport.prototype.__proto__=EventTarget.prototype;
-VisualViewport.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(VisualViewport.prototype, "offsetLeft", {configurable:true, enumerable:true, get:function offsetLeft (){return bodavm.toolsFunc.dispatch(this, VisualViewport.prototype, "VisualViewport", "offsetLeft_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(VisualViewport.prototype, "offsetTop", {configurable:true, enumerable:true, get:function offsetTop (){return bodavm.toolsFunc.dispatch(this, VisualViewport.prototype, "VisualViewport", "offsetTop_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(VisualViewport.prototype, "pageLeft", {configurable:true, enumerable:true, get:function pageLeft (){return bodavm.toolsFunc.dispatch(this, VisualViewport.prototype, "VisualViewport", "pageLeft_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(VisualViewport.prototype, "pageTop", {configurable:true, enumerable:true, get:function pageTop (){return bodavm.toolsFunc.dispatch(this, VisualViewport.prototype, "VisualViewport", "pageTop_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(VisualViewport.prototype, "width", {configurable:true, enumerable:true, get:function width (){return bodavm.toolsFunc.dispatch(this, VisualViewport.prototype, "VisualViewport", "width_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(VisualViewport.prototype, "height", {configurable:true, enumerable:true, get:function height (){return bodavm.toolsFunc.dispatch(this, VisualViewport.prototype, "VisualViewport", "height_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(VisualViewport.prototype, "scale", {configurable:true, enumerable:true, get:function scale (){return bodavm.toolsFunc.dispatch(this, VisualViewport.prototype, "VisualViewport", "scale_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(VisualViewport.prototype, "onresize", {configurable:true, enumerable:true, get:function onresize (){return bodavm.toolsFunc.dispatch(this, VisualViewport.prototype, "VisualViewport", "onresize_get", arguments)}, set:function onresize (){return bodavm.toolsFunc.dispatch(this, VisualViewport.prototype, "VisualViewport", "onresize_set", arguments)}});
-bodavm.toolsFunc.defineProperty(VisualViewport.prototype, "onscroll", {configurable:true, enumerable:true, get:function onscroll (){return bodavm.toolsFunc.dispatch(this, VisualViewport.prototype, "VisualViewport", "onscroll_get", arguments)}, set:function onscroll (){return bodavm.toolsFunc.dispatch(this, VisualViewport.prototype, "VisualViewport", "onscroll_set", arguments)}});
-
-var visualViewport={}
-visualViewport.__proto__ = VisualViewport.prototype
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/env/WebGLBuffer.js b/env_xbb_lastest_cheerio/env/WebGLBuffer.js
deleted file mode 100644
index 1112c25c..00000000
--- a/env_xbb_lastest_cheerio/env/WebGLBuffer.js
+++ /dev/null
@@ -1,3 +0,0 @@
-// WebGLBuffer对象
-WebGLBuffer = function WebGLBuffer(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(WebGLBuffer, "WebGLBuffer");
diff --git a/env_xbb_lastest_cheerio/env/WebGLProgram.js b/env_xbb_lastest_cheerio/env/WebGLProgram.js
deleted file mode 100644
index 91512f29..00000000
--- a/env_xbb_lastest_cheerio/env/WebGLProgram.js
+++ /dev/null
@@ -1,3 +0,0 @@
-// WebGLProgram对象
-WebGLProgram = function WebGLProgram(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(WebGLProgram, "WebGLProgram");
diff --git a/env_xbb_lastest_cheerio/env/WebGLRenderingContext.js b/env_xbb_lastest_cheerio/env/WebGLRenderingContext.js
deleted file mode 100644
index 648ea634..00000000
--- a/env_xbb_lastest_cheerio/env/WebGLRenderingContext.js
+++ /dev/null
@@ -1,735 +0,0 @@
-// WebGLRenderingContext对象
-WebGLRenderingContext = function WebGLRenderingContext(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(WebGLRenderingContext, "WebGLRenderingContext");
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DEPTH_BUFFER_BIT", {configurable:false, enumerable:true, writable:false, value:256});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_BUFFER_BIT", {configurable:false, enumerable:true, writable:false, value:1024});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "COLOR_BUFFER_BIT", {configurable:false, enumerable:true, writable:false, value:16384});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "POINTS", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LINES", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LINE_LOOP", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LINE_STRIP", {configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TRIANGLES", {configurable:false, enumerable:true, writable:false, value:4});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TRIANGLE_STRIP", {configurable:false, enumerable:true, writable:false, value:5});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TRIANGLE_FAN", {configurable:false, enumerable:true, writable:false, value:6});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ZERO", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ONE", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SRC_COLOR", {configurable:false, enumerable:true, writable:false, value:768});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ONE_MINUS_SRC_COLOR", {configurable:false, enumerable:true, writable:false, value:769});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SRC_ALPHA", {configurable:false, enumerable:true, writable:false, value:770});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ONE_MINUS_SRC_ALPHA", {configurable:false, enumerable:true, writable:false, value:771});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DST_ALPHA", {configurable:false, enumerable:true, writable:false, value:772});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ONE_MINUS_DST_ALPHA", {configurable:false, enumerable:true, writable:false, value:773});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DST_COLOR", {configurable:false, enumerable:true, writable:false, value:774});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ONE_MINUS_DST_COLOR", {configurable:false, enumerable:true, writable:false, value:775});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SRC_ALPHA_SATURATE", {configurable:false, enumerable:true, writable:false, value:776});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FUNC_ADD", {configurable:false, enumerable:true, writable:false, value:32774});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BLEND_EQUATION", {configurable:false, enumerable:true, writable:false, value:32777});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BLEND_EQUATION_RGB", {configurable:false, enumerable:true, writable:false, value:32777});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BLEND_EQUATION_ALPHA", {configurable:false, enumerable:true, writable:false, value:34877});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FUNC_SUBTRACT", {configurable:false, enumerable:true, writable:false, value:32778});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FUNC_REVERSE_SUBTRACT", {configurable:false, enumerable:true, writable:false, value:32779});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BLEND_DST_RGB", {configurable:false, enumerable:true, writable:false, value:32968});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BLEND_SRC_RGB", {configurable:false, enumerable:true, writable:false, value:32969});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BLEND_DST_ALPHA", {configurable:false, enumerable:true, writable:false, value:32970});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BLEND_SRC_ALPHA", {configurable:false, enumerable:true, writable:false, value:32971});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "CONSTANT_COLOR", {configurable:false, enumerable:true, writable:false, value:32769});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ONE_MINUS_CONSTANT_COLOR", {configurable:false, enumerable:true, writable:false, value:32770});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "CONSTANT_ALPHA", {configurable:false, enumerable:true, writable:false, value:32771});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ONE_MINUS_CONSTANT_ALPHA", {configurable:false, enumerable:true, writable:false, value:32772});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BLEND_COLOR", {configurable:false, enumerable:true, writable:false, value:32773});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ARRAY_BUFFER", {configurable:false, enumerable:true, writable:false, value:34962});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ELEMENT_ARRAY_BUFFER", {configurable:false, enumerable:true, writable:false, value:34963});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ARRAY_BUFFER_BINDING", {configurable:false, enumerable:true, writable:false, value:34964});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ELEMENT_ARRAY_BUFFER_BINDING", {configurable:false, enumerable:true, writable:false, value:34965});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STREAM_DRAW", {configurable:false, enumerable:true, writable:false, value:35040});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STATIC_DRAW", {configurable:false, enumerable:true, writable:false, value:35044});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DYNAMIC_DRAW", {configurable:false, enumerable:true, writable:false, value:35048});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BUFFER_SIZE", {configurable:false, enumerable:true, writable:false, value:34660});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BUFFER_USAGE", {configurable:false, enumerable:true, writable:false, value:34661});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "CURRENT_VERTEX_ATTRIB", {configurable:false, enumerable:true, writable:false, value:34342});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRONT", {configurable:false, enumerable:true, writable:false, value:1028});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BACK", {configurable:false, enumerable:true, writable:false, value:1029});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRONT_AND_BACK", {configurable:false, enumerable:true, writable:false, value:1032});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_2D", {configurable:false, enumerable:true, writable:false, value:3553});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "CULL_FACE", {configurable:false, enumerable:true, writable:false, value:2884});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BLEND", {configurable:false, enumerable:true, writable:false, value:3042});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DITHER", {configurable:false, enumerable:true, writable:false, value:3024});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_TEST", {configurable:false, enumerable:true, writable:false, value:2960});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DEPTH_TEST", {configurable:false, enumerable:true, writable:false, value:2929});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SCISSOR_TEST", {configurable:false, enumerable:true, writable:false, value:3089});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "POLYGON_OFFSET_FILL", {configurable:false, enumerable:true, writable:false, value:32823});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SAMPLE_ALPHA_TO_COVERAGE", {configurable:false, enumerable:true, writable:false, value:32926});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SAMPLE_COVERAGE", {configurable:false, enumerable:true, writable:false, value:32928});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "NO_ERROR", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "INVALID_ENUM", {configurable:false, enumerable:true, writable:false, value:1280});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "INVALID_VALUE", {configurable:false, enumerable:true, writable:false, value:1281});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "INVALID_OPERATION", {configurable:false, enumerable:true, writable:false, value:1282});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "OUT_OF_MEMORY", {configurable:false, enumerable:true, writable:false, value:1285});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "CW", {configurable:false, enumerable:true, writable:false, value:2304});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "CCW", {configurable:false, enumerable:true, writable:false, value:2305});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LINE_WIDTH", {configurable:false, enumerable:true, writable:false, value:2849});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ALIASED_POINT_SIZE_RANGE", {configurable:false, enumerable:true, writable:false, value:33901});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ALIASED_LINE_WIDTH_RANGE", {configurable:false, enumerable:true, writable:false, value:33902});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "CULL_FACE_MODE", {configurable:false, enumerable:true, writable:false, value:2885});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRONT_FACE", {configurable:false, enumerable:true, writable:false, value:2886});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DEPTH_RANGE", {configurable:false, enumerable:true, writable:false, value:2928});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DEPTH_WRITEMASK", {configurable:false, enumerable:true, writable:false, value:2930});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DEPTH_CLEAR_VALUE", {configurable:false, enumerable:true, writable:false, value:2931});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DEPTH_FUNC", {configurable:false, enumerable:true, writable:false, value:2932});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_CLEAR_VALUE", {configurable:false, enumerable:true, writable:false, value:2961});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_FUNC", {configurable:false, enumerable:true, writable:false, value:2962});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_FAIL", {configurable:false, enumerable:true, writable:false, value:2964});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_PASS_DEPTH_FAIL", {configurable:false, enumerable:true, writable:false, value:2965});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_PASS_DEPTH_PASS", {configurable:false, enumerable:true, writable:false, value:2966});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_REF", {configurable:false, enumerable:true, writable:false, value:2967});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_VALUE_MASK", {configurable:false, enumerable:true, writable:false, value:2963});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_WRITEMASK", {configurable:false, enumerable:true, writable:false, value:2968});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_BACK_FUNC", {configurable:false, enumerable:true, writable:false, value:34816});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_BACK_FAIL", {configurable:false, enumerable:true, writable:false, value:34817});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_BACK_PASS_DEPTH_FAIL", {configurable:false, enumerable:true, writable:false, value:34818});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_BACK_PASS_DEPTH_PASS", {configurable:false, enumerable:true, writable:false, value:34819});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_BACK_REF", {configurable:false, enumerable:true, writable:false, value:36003});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_BACK_VALUE_MASK", {configurable:false, enumerable:true, writable:false, value:36004});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_BACK_WRITEMASK", {configurable:false, enumerable:true, writable:false, value:36005});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "VIEWPORT", {configurable:false, enumerable:true, writable:false, value:2978});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SCISSOR_BOX", {configurable:false, enumerable:true, writable:false, value:3088});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "COLOR_CLEAR_VALUE", {configurable:false, enumerable:true, writable:false, value:3106});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "COLOR_WRITEMASK", {configurable:false, enumerable:true, writable:false, value:3107});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "UNPACK_ALIGNMENT", {configurable:false, enumerable:true, writable:false, value:3317});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "PACK_ALIGNMENT", {configurable:false, enumerable:true, writable:false, value:3333});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MAX_TEXTURE_SIZE", {configurable:false, enumerable:true, writable:false, value:3379});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MAX_VIEWPORT_DIMS", {configurable:false, enumerable:true, writable:false, value:3386});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SUBPIXEL_BITS", {configurable:false, enumerable:true, writable:false, value:3408});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RED_BITS", {configurable:false, enumerable:true, writable:false, value:3410});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "GREEN_BITS", {configurable:false, enumerable:true, writable:false, value:3411});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BLUE_BITS", {configurable:false, enumerable:true, writable:false, value:3412});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ALPHA_BITS", {configurable:false, enumerable:true, writable:false, value:3413});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DEPTH_BITS", {configurable:false, enumerable:true, writable:false, value:3414});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_BITS", {configurable:false, enumerable:true, writable:false, value:3415});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "POLYGON_OFFSET_UNITS", {configurable:false, enumerable:true, writable:false, value:10752});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "POLYGON_OFFSET_FACTOR", {configurable:false, enumerable:true, writable:false, value:32824});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_BINDING_2D", {configurable:false, enumerable:true, writable:false, value:32873});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SAMPLE_BUFFERS", {configurable:false, enumerable:true, writable:false, value:32936});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SAMPLES", {configurable:false, enumerable:true, writable:false, value:32937});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SAMPLE_COVERAGE_VALUE", {configurable:false, enumerable:true, writable:false, value:32938});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SAMPLE_COVERAGE_INVERT", {configurable:false, enumerable:true, writable:false, value:32939});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "COMPRESSED_TEXTURE_FORMATS", {configurable:false, enumerable:true, writable:false, value:34467});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DONT_CARE", {configurable:false, enumerable:true, writable:false, value:4352});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FASTEST", {configurable:false, enumerable:true, writable:false, value:4353});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "NICEST", {configurable:false, enumerable:true, writable:false, value:4354});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "GENERATE_MIPMAP_HINT", {configurable:false, enumerable:true, writable:false, value:33170});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BYTE", {configurable:false, enumerable:true, writable:false, value:5120});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "UNSIGNED_BYTE", {configurable:false, enumerable:true, writable:false, value:5121});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SHORT", {configurable:false, enumerable:true, writable:false, value:5122});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "UNSIGNED_SHORT", {configurable:false, enumerable:true, writable:false, value:5123});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "INT", {configurable:false, enumerable:true, writable:false, value:5124});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "UNSIGNED_INT", {configurable:false, enumerable:true, writable:false, value:5125});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FLOAT", {configurable:false, enumerable:true, writable:false, value:5126});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DEPTH_COMPONENT", {configurable:false, enumerable:true, writable:false, value:6402});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ALPHA", {configurable:false, enumerable:true, writable:false, value:6406});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RGB", {configurable:false, enumerable:true, writable:false, value:6407});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RGBA", {configurable:false, enumerable:true, writable:false, value:6408});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LUMINANCE", {configurable:false, enumerable:true, writable:false, value:6409});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LUMINANCE_ALPHA", {configurable:false, enumerable:true, writable:false, value:6410});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "UNSIGNED_SHORT_4_4_4_4", {configurable:false, enumerable:true, writable:false, value:32819});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "UNSIGNED_SHORT_5_5_5_1", {configurable:false, enumerable:true, writable:false, value:32820});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "UNSIGNED_SHORT_5_6_5", {configurable:false, enumerable:true, writable:false, value:33635});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRAGMENT_SHADER", {configurable:false, enumerable:true, writable:false, value:35632});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "VERTEX_SHADER", {configurable:false, enumerable:true, writable:false, value:35633});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MAX_VERTEX_ATTRIBS", {configurable:false, enumerable:true, writable:false, value:34921});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MAX_VERTEX_UNIFORM_VECTORS", {configurable:false, enumerable:true, writable:false, value:36347});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MAX_VARYING_VECTORS", {configurable:false, enumerable:true, writable:false, value:36348});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MAX_COMBINED_TEXTURE_IMAGE_UNITS", {configurable:false, enumerable:true, writable:false, value:35661});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MAX_VERTEX_TEXTURE_IMAGE_UNITS", {configurable:false, enumerable:true, writable:false, value:35660});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MAX_TEXTURE_IMAGE_UNITS", {configurable:false, enumerable:true, writable:false, value:34930});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MAX_FRAGMENT_UNIFORM_VECTORS", {configurable:false, enumerable:true, writable:false, value:36349});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SHADER_TYPE", {configurable:false, enumerable:true, writable:false, value:35663});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DELETE_STATUS", {configurable:false, enumerable:true, writable:false, value:35712});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LINK_STATUS", {configurable:false, enumerable:true, writable:false, value:35714});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "VALIDATE_STATUS", {configurable:false, enumerable:true, writable:false, value:35715});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ATTACHED_SHADERS", {configurable:false, enumerable:true, writable:false, value:35717});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ACTIVE_UNIFORMS", {configurable:false, enumerable:true, writable:false, value:35718});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ACTIVE_ATTRIBUTES", {configurable:false, enumerable:true, writable:false, value:35721});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SHADING_LANGUAGE_VERSION", {configurable:false, enumerable:true, writable:false, value:35724});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "CURRENT_PROGRAM", {configurable:false, enumerable:true, writable:false, value:35725});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "NEVER", {configurable:false, enumerable:true, writable:false, value:512});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LESS", {configurable:false, enumerable:true, writable:false, value:513});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "EQUAL", {configurable:false, enumerable:true, writable:false, value:514});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LEQUAL", {configurable:false, enumerable:true, writable:false, value:515});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "GREATER", {configurable:false, enumerable:true, writable:false, value:516});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "NOTEQUAL", {configurable:false, enumerable:true, writable:false, value:517});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "GEQUAL", {configurable:false, enumerable:true, writable:false, value:518});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ALWAYS", {configurable:false, enumerable:true, writable:false, value:519});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "KEEP", {configurable:false, enumerable:true, writable:false, value:7680});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "REPLACE", {configurable:false, enumerable:true, writable:false, value:7681});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "INCR", {configurable:false, enumerable:true, writable:false, value:7682});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DECR", {configurable:false, enumerable:true, writable:false, value:7683});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "INVERT", {configurable:false, enumerable:true, writable:false, value:5386});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "INCR_WRAP", {configurable:false, enumerable:true, writable:false, value:34055});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DECR_WRAP", {configurable:false, enumerable:true, writable:false, value:34056});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "VENDOR", {configurable:false, enumerable:true, writable:false, value:7936});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RENDERER", {configurable:false, enumerable:true, writable:false, value:7937});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "VERSION", {configurable:false, enumerable:true, writable:false, value:7938});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "NEAREST", {configurable:false, enumerable:true, writable:false, value:9728});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LINEAR", {configurable:false, enumerable:true, writable:false, value:9729});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "NEAREST_MIPMAP_NEAREST", {configurable:false, enumerable:true, writable:false, value:9984});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LINEAR_MIPMAP_NEAREST", {configurable:false, enumerable:true, writable:false, value:9985});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "NEAREST_MIPMAP_LINEAR", {configurable:false, enumerable:true, writable:false, value:9986});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LINEAR_MIPMAP_LINEAR", {configurable:false, enumerable:true, writable:false, value:9987});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_MAG_FILTER", {configurable:false, enumerable:true, writable:false, value:10240});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_MIN_FILTER", {configurable:false, enumerable:true, writable:false, value:10241});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_WRAP_S", {configurable:false, enumerable:true, writable:false, value:10242});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_WRAP_T", {configurable:false, enumerable:true, writable:false, value:10243});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE", {configurable:false, enumerable:true, writable:false, value:5890});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_CUBE_MAP", {configurable:false, enumerable:true, writable:false, value:34067});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_BINDING_CUBE_MAP", {configurable:false, enumerable:true, writable:false, value:34068});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_CUBE_MAP_POSITIVE_X", {configurable:false, enumerable:true, writable:false, value:34069});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_CUBE_MAP_NEGATIVE_X", {configurable:false, enumerable:true, writable:false, value:34070});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_CUBE_MAP_POSITIVE_Y", {configurable:false, enumerable:true, writable:false, value:34071});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_CUBE_MAP_NEGATIVE_Y", {configurable:false, enumerable:true, writable:false, value:34072});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_CUBE_MAP_POSITIVE_Z", {configurable:false, enumerable:true, writable:false, value:34073});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE_CUBE_MAP_NEGATIVE_Z", {configurable:false, enumerable:true, writable:false, value:34074});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MAX_CUBE_MAP_TEXTURE_SIZE", {configurable:false, enumerable:true, writable:false, value:34076});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE0", {configurable:false, enumerable:true, writable:false, value:33984});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE1", {configurable:false, enumerable:true, writable:false, value:33985});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE2", {configurable:false, enumerable:true, writable:false, value:33986});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE3", {configurable:false, enumerable:true, writable:false, value:33987});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE4", {configurable:false, enumerable:true, writable:false, value:33988});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE5", {configurable:false, enumerable:true, writable:false, value:33989});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE6", {configurable:false, enumerable:true, writable:false, value:33990});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE7", {configurable:false, enumerable:true, writable:false, value:33991});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE8", {configurable:false, enumerable:true, writable:false, value:33992});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE9", {configurable:false, enumerable:true, writable:false, value:33993});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE10", {configurable:false, enumerable:true, writable:false, value:33994});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE11", {configurable:false, enumerable:true, writable:false, value:33995});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE12", {configurable:false, enumerable:true, writable:false, value:33996});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE13", {configurable:false, enumerable:true, writable:false, value:33997});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE14", {configurable:false, enumerable:true, writable:false, value:33998});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE15", {configurable:false, enumerable:true, writable:false, value:33999});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE16", {configurable:false, enumerable:true, writable:false, value:34000});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE17", {configurable:false, enumerable:true, writable:false, value:34001});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE18", {configurable:false, enumerable:true, writable:false, value:34002});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE19", {configurable:false, enumerable:true, writable:false, value:34003});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE20", {configurable:false, enumerable:true, writable:false, value:34004});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE21", {configurable:false, enumerable:true, writable:false, value:34005});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE22", {configurable:false, enumerable:true, writable:false, value:34006});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE23", {configurable:false, enumerable:true, writable:false, value:34007});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE24", {configurable:false, enumerable:true, writable:false, value:34008});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE25", {configurable:false, enumerable:true, writable:false, value:34009});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE26", {configurable:false, enumerable:true, writable:false, value:34010});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE27", {configurable:false, enumerable:true, writable:false, value:34011});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE28", {configurable:false, enumerable:true, writable:false, value:34012});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE29", {configurable:false, enumerable:true, writable:false, value:34013});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE30", {configurable:false, enumerable:true, writable:false, value:34014});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "TEXTURE31", {configurable:false, enumerable:true, writable:false, value:34015});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "ACTIVE_TEXTURE", {configurable:false, enumerable:true, writable:false, value:34016});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "REPEAT", {configurable:false, enumerable:true, writable:false, value:10497});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "CLAMP_TO_EDGE", {configurable:false, enumerable:true, writable:false, value:33071});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MIRRORED_REPEAT", {configurable:false, enumerable:true, writable:false, value:33648});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FLOAT_VEC2", {configurable:false, enumerable:true, writable:false, value:35664});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FLOAT_VEC3", {configurable:false, enumerable:true, writable:false, value:35665});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FLOAT_VEC4", {configurable:false, enumerable:true, writable:false, value:35666});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "INT_VEC2", {configurable:false, enumerable:true, writable:false, value:35667});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "INT_VEC3", {configurable:false, enumerable:true, writable:false, value:35668});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "INT_VEC4", {configurable:false, enumerable:true, writable:false, value:35669});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BOOL", {configurable:false, enumerable:true, writable:false, value:35670});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BOOL_VEC2", {configurable:false, enumerable:true, writable:false, value:35671});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BOOL_VEC3", {configurable:false, enumerable:true, writable:false, value:35672});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BOOL_VEC4", {configurable:false, enumerable:true, writable:false, value:35673});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FLOAT_MAT2", {configurable:false, enumerable:true, writable:false, value:35674});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FLOAT_MAT3", {configurable:false, enumerable:true, writable:false, value:35675});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FLOAT_MAT4", {configurable:false, enumerable:true, writable:false, value:35676});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SAMPLER_2D", {configurable:false, enumerable:true, writable:false, value:35678});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "SAMPLER_CUBE", {configurable:false, enumerable:true, writable:false, value:35680});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "VERTEX_ATTRIB_ARRAY_ENABLED", {configurable:false, enumerable:true, writable:false, value:34338});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "VERTEX_ATTRIB_ARRAY_SIZE", {configurable:false, enumerable:true, writable:false, value:34339});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "VERTEX_ATTRIB_ARRAY_STRIDE", {configurable:false, enumerable:true, writable:false, value:34340});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "VERTEX_ATTRIB_ARRAY_TYPE", {configurable:false, enumerable:true, writable:false, value:34341});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "VERTEX_ATTRIB_ARRAY_NORMALIZED", {configurable:false, enumerable:true, writable:false, value:34922});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "VERTEX_ATTRIB_ARRAY_POINTER", {configurable:false, enumerable:true, writable:false, value:34373});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", {configurable:false, enumerable:true, writable:false, value:34975});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "IMPLEMENTATION_COLOR_READ_TYPE", {configurable:false, enumerable:true, writable:false, value:35738});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "IMPLEMENTATION_COLOR_READ_FORMAT", {configurable:false, enumerable:true, writable:false, value:35739});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "COMPILE_STATUS", {configurable:false, enumerable:true, writable:false, value:35713});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LOW_FLOAT", {configurable:false, enumerable:true, writable:false, value:36336});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MEDIUM_FLOAT", {configurable:false, enumerable:true, writable:false, value:36337});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "HIGH_FLOAT", {configurable:false, enumerable:true, writable:false, value:36338});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "LOW_INT", {configurable:false, enumerable:true, writable:false, value:36339});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MEDIUM_INT", {configurable:false, enumerable:true, writable:false, value:36340});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "HIGH_INT", {configurable:false, enumerable:true, writable:false, value:36341});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRAMEBUFFER", {configurable:false, enumerable:true, writable:false, value:36160});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RENDERBUFFER", {configurable:false, enumerable:true, writable:false, value:36161});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RGBA4", {configurable:false, enumerable:true, writable:false, value:32854});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RGB5_A1", {configurable:false, enumerable:true, writable:false, value:32855});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RGB565", {configurable:false, enumerable:true, writable:false, value:36194});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DEPTH_COMPONENT16", {configurable:false, enumerable:true, writable:false, value:33189});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_INDEX8", {configurable:false, enumerable:true, writable:false, value:36168});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DEPTH_STENCIL", {configurable:false, enumerable:true, writable:false, value:34041});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RENDERBUFFER_WIDTH", {configurable:false, enumerable:true, writable:false, value:36162});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RENDERBUFFER_HEIGHT", {configurable:false, enumerable:true, writable:false, value:36163});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RENDERBUFFER_INTERNAL_FORMAT", {configurable:false, enumerable:true, writable:false, value:36164});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RENDERBUFFER_RED_SIZE", {configurable:false, enumerable:true, writable:false, value:36176});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RENDERBUFFER_GREEN_SIZE", {configurable:false, enumerable:true, writable:false, value:36177});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RENDERBUFFER_BLUE_SIZE", {configurable:false, enumerable:true, writable:false, value:36178});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RENDERBUFFER_ALPHA_SIZE", {configurable:false, enumerable:true, writable:false, value:36179});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RENDERBUFFER_DEPTH_SIZE", {configurable:false, enumerable:true, writable:false, value:36180});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RENDERBUFFER_STENCIL_SIZE", {configurable:false, enumerable:true, writable:false, value:36181});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", {configurable:false, enumerable:true, writable:false, value:36048});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", {configurable:false, enumerable:true, writable:false, value:36049});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", {configurable:false, enumerable:true, writable:false, value:36050});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", {configurable:false, enumerable:true, writable:false, value:36051});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "COLOR_ATTACHMENT0", {configurable:false, enumerable:true, writable:false, value:36064});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DEPTH_ATTACHMENT", {configurable:false, enumerable:true, writable:false, value:36096});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "STENCIL_ATTACHMENT", {configurable:false, enumerable:true, writable:false, value:36128});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "DEPTH_STENCIL_ATTACHMENT", {configurable:false, enumerable:true, writable:false, value:33306});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "NONE", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRAMEBUFFER_COMPLETE", {configurable:false, enumerable:true, writable:false, value:36053});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", {configurable:false, enumerable:true, writable:false, value:36054});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", {configurable:false, enumerable:true, writable:false, value:36055});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", {configurable:false, enumerable:true, writable:false, value:36057});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRAMEBUFFER_UNSUPPORTED", {configurable:false, enumerable:true, writable:false, value:36061});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "FRAMEBUFFER_BINDING", {configurable:false, enumerable:true, writable:false, value:36006});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "RENDERBUFFER_BINDING", {configurable:false, enumerable:true, writable:false, value:36007});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "MAX_RENDERBUFFER_SIZE", {configurable:false, enumerable:true, writable:false, value:34024});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "INVALID_FRAMEBUFFER_OPERATION", {configurable:false, enumerable:true, writable:false, value:1286});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "UNPACK_FLIP_Y_WEBGL", {configurable:false, enumerable:true, writable:false, value:37440});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "UNPACK_PREMULTIPLY_ALPHA_WEBGL", {configurable:false, enumerable:true, writable:false, value:37441});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "CONTEXT_LOST_WEBGL", {configurable:false, enumerable:true, writable:false, value:37442});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "UNPACK_COLORSPACE_CONVERSION_WEBGL", {configurable:false, enumerable:true, writable:false, value:37443});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext, "BROWSER_DEFAULT_WEBGL", {configurable:false, enumerable:true, writable:false, value:37444});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "canvas", {configurable:true, enumerable:true, get:function canvas (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "canvas_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "drawingBufferWidth", {configurable:true, enumerable:true, get:function drawingBufferWidth (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "drawingBufferWidth_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "drawingBufferHeight", {configurable:true, enumerable:true, get:function drawingBufferHeight (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "drawingBufferHeight_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DEPTH_BUFFER_BIT", {configurable:false, enumerable:true, writable:false, value:256});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_BUFFER_BIT", {configurable:false, enumerable:true, writable:false, value:1024});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "COLOR_BUFFER_BIT", {configurable:false, enumerable:true, writable:false, value:16384});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "POINTS", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LINES", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LINE_LOOP", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LINE_STRIP", {configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TRIANGLES", {configurable:false, enumerable:true, writable:false, value:4});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TRIANGLE_STRIP", {configurable:false, enumerable:true, writable:false, value:5});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TRIANGLE_FAN", {configurable:false, enumerable:true, writable:false, value:6});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ZERO", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ONE", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SRC_COLOR", {configurable:false, enumerable:true, writable:false, value:768});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ONE_MINUS_SRC_COLOR", {configurable:false, enumerable:true, writable:false, value:769});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SRC_ALPHA", {configurable:false, enumerable:true, writable:false, value:770});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ONE_MINUS_SRC_ALPHA", {configurable:false, enumerable:true, writable:false, value:771});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DST_ALPHA", {configurable:false, enumerable:true, writable:false, value:772});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ONE_MINUS_DST_ALPHA", {configurable:false, enumerable:true, writable:false, value:773});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DST_COLOR", {configurable:false, enumerable:true, writable:false, value:774});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ONE_MINUS_DST_COLOR", {configurable:false, enumerable:true, writable:false, value:775});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SRC_ALPHA_SATURATE", {configurable:false, enumerable:true, writable:false, value:776});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FUNC_ADD", {configurable:false, enumerable:true, writable:false, value:32774});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BLEND_EQUATION", {configurable:false, enumerable:true, writable:false, value:32777});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BLEND_EQUATION_RGB", {configurable:false, enumerable:true, writable:false, value:32777});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BLEND_EQUATION_ALPHA", {configurable:false, enumerable:true, writable:false, value:34877});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FUNC_SUBTRACT", {configurable:false, enumerable:true, writable:false, value:32778});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FUNC_REVERSE_SUBTRACT", {configurable:false, enumerable:true, writable:false, value:32779});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BLEND_DST_RGB", {configurable:false, enumerable:true, writable:false, value:32968});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BLEND_SRC_RGB", {configurable:false, enumerable:true, writable:false, value:32969});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BLEND_DST_ALPHA", {configurable:false, enumerable:true, writable:false, value:32970});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BLEND_SRC_ALPHA", {configurable:false, enumerable:true, writable:false, value:32971});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "CONSTANT_COLOR", {configurable:false, enumerable:true, writable:false, value:32769});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ONE_MINUS_CONSTANT_COLOR", {configurable:false, enumerable:true, writable:false, value:32770});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "CONSTANT_ALPHA", {configurable:false, enumerable:true, writable:false, value:32771});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ONE_MINUS_CONSTANT_ALPHA", {configurable:false, enumerable:true, writable:false, value:32772});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BLEND_COLOR", {configurable:false, enumerable:true, writable:false, value:32773});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ARRAY_BUFFER", {configurable:false, enumerable:true, writable:false, value:34962});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ELEMENT_ARRAY_BUFFER", {configurable:false, enumerable:true, writable:false, value:34963});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ARRAY_BUFFER_BINDING", {configurable:false, enumerable:true, writable:false, value:34964});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ELEMENT_ARRAY_BUFFER_BINDING", {configurable:false, enumerable:true, writable:false, value:34965});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STREAM_DRAW", {configurable:false, enumerable:true, writable:false, value:35040});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STATIC_DRAW", {configurable:false, enumerable:true, writable:false, value:35044});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DYNAMIC_DRAW", {configurable:false, enumerable:true, writable:false, value:35048});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BUFFER_SIZE", {configurable:false, enumerable:true, writable:false, value:34660});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BUFFER_USAGE", {configurable:false, enumerable:true, writable:false, value:34661});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "CURRENT_VERTEX_ATTRIB", {configurable:false, enumerable:true, writable:false, value:34342});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRONT", {configurable:false, enumerable:true, writable:false, value:1028});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BACK", {configurable:false, enumerable:true, writable:false, value:1029});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRONT_AND_BACK", {configurable:false, enumerable:true, writable:false, value:1032});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_2D", {configurable:false, enumerable:true, writable:false, value:3553});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "CULL_FACE", {configurable:false, enumerable:true, writable:false, value:2884});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BLEND", {configurable:false, enumerable:true, writable:false, value:3042});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DITHER", {configurable:false, enumerable:true, writable:false, value:3024});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_TEST", {configurable:false, enumerable:true, writable:false, value:2960});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DEPTH_TEST", {configurable:false, enumerable:true, writable:false, value:2929});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SCISSOR_TEST", {configurable:false, enumerable:true, writable:false, value:3089});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "POLYGON_OFFSET_FILL", {configurable:false, enumerable:true, writable:false, value:32823});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SAMPLE_ALPHA_TO_COVERAGE", {configurable:false, enumerable:true, writable:false, value:32926});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SAMPLE_COVERAGE", {configurable:false, enumerable:true, writable:false, value:32928});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "NO_ERROR", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "INVALID_ENUM", {configurable:false, enumerable:true, writable:false, value:1280});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "INVALID_VALUE", {configurable:false, enumerable:true, writable:false, value:1281});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "INVALID_OPERATION", {configurable:false, enumerable:true, writable:false, value:1282});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "OUT_OF_MEMORY", {configurable:false, enumerable:true, writable:false, value:1285});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "CW", {configurable:false, enumerable:true, writable:false, value:2304});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "CCW", {configurable:false, enumerable:true, writable:false, value:2305});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LINE_WIDTH", {configurable:false, enumerable:true, writable:false, value:2849});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ALIASED_POINT_SIZE_RANGE", {configurable:false, enumerable:true, writable:false, value:33901});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ALIASED_LINE_WIDTH_RANGE", {configurable:false, enumerable:true, writable:false, value:33902});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "CULL_FACE_MODE", {configurable:false, enumerable:true, writable:false, value:2885});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRONT_FACE", {configurable:false, enumerable:true, writable:false, value:2886});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DEPTH_RANGE", {configurable:false, enumerable:true, writable:false, value:2928});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DEPTH_WRITEMASK", {configurable:false, enumerable:true, writable:false, value:2930});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DEPTH_CLEAR_VALUE", {configurable:false, enumerable:true, writable:false, value:2931});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DEPTH_FUNC", {configurable:false, enumerable:true, writable:false, value:2932});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_CLEAR_VALUE", {configurable:false, enumerable:true, writable:false, value:2961});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_FUNC", {configurable:false, enumerable:true, writable:false, value:2962});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_FAIL", {configurable:false, enumerable:true, writable:false, value:2964});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_PASS_DEPTH_FAIL", {configurable:false, enumerable:true, writable:false, value:2965});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_PASS_DEPTH_PASS", {configurable:false, enumerable:true, writable:false, value:2966});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_REF", {configurable:false, enumerable:true, writable:false, value:2967});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_VALUE_MASK", {configurable:false, enumerable:true, writable:false, value:2963});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_WRITEMASK", {configurable:false, enumerable:true, writable:false, value:2968});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_BACK_FUNC", {configurable:false, enumerable:true, writable:false, value:34816});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_BACK_FAIL", {configurable:false, enumerable:true, writable:false, value:34817});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_BACK_PASS_DEPTH_FAIL", {configurable:false, enumerable:true, writable:false, value:34818});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_BACK_PASS_DEPTH_PASS", {configurable:false, enumerable:true, writable:false, value:34819});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_BACK_REF", {configurable:false, enumerable:true, writable:false, value:36003});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_BACK_VALUE_MASK", {configurable:false, enumerable:true, writable:false, value:36004});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_BACK_WRITEMASK", {configurable:false, enumerable:true, writable:false, value:36005});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "VIEWPORT", {configurable:false, enumerable:true, writable:false, value:2978});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SCISSOR_BOX", {configurable:false, enumerable:true, writable:false, value:3088});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "COLOR_CLEAR_VALUE", {configurable:false, enumerable:true, writable:false, value:3106});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "COLOR_WRITEMASK", {configurable:false, enumerable:true, writable:false, value:3107});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "UNPACK_ALIGNMENT", {configurable:false, enumerable:true, writable:false, value:3317});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "PACK_ALIGNMENT", {configurable:false, enumerable:true, writable:false, value:3333});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MAX_TEXTURE_SIZE", {configurable:false, enumerable:true, writable:false, value:3379});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MAX_VIEWPORT_DIMS", {configurable:false, enumerable:true, writable:false, value:3386});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SUBPIXEL_BITS", {configurable:false, enumerable:true, writable:false, value:3408});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RED_BITS", {configurable:false, enumerable:true, writable:false, value:3410});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "GREEN_BITS", {configurable:false, enumerable:true, writable:false, value:3411});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BLUE_BITS", {configurable:false, enumerable:true, writable:false, value:3412});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ALPHA_BITS", {configurable:false, enumerable:true, writable:false, value:3413});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DEPTH_BITS", {configurable:false, enumerable:true, writable:false, value:3414});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_BITS", {configurable:false, enumerable:true, writable:false, value:3415});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "POLYGON_OFFSET_UNITS", {configurable:false, enumerable:true, writable:false, value:10752});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "POLYGON_OFFSET_FACTOR", {configurable:false, enumerable:true, writable:false, value:32824});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_BINDING_2D", {configurable:false, enumerable:true, writable:false, value:32873});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SAMPLE_BUFFERS", {configurable:false, enumerable:true, writable:false, value:32936});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SAMPLES", {configurable:false, enumerable:true, writable:false, value:32937});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SAMPLE_COVERAGE_VALUE", {configurable:false, enumerable:true, writable:false, value:32938});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SAMPLE_COVERAGE_INVERT", {configurable:false, enumerable:true, writable:false, value:32939});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "COMPRESSED_TEXTURE_FORMATS", {configurable:false, enumerable:true, writable:false, value:34467});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DONT_CARE", {configurable:false, enumerable:true, writable:false, value:4352});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FASTEST", {configurable:false, enumerable:true, writable:false, value:4353});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "NICEST", {configurable:false, enumerable:true, writable:false, value:4354});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "GENERATE_MIPMAP_HINT", {configurable:false, enumerable:true, writable:false, value:33170});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BYTE", {configurable:false, enumerable:true, writable:false, value:5120});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "UNSIGNED_BYTE", {configurable:false, enumerable:true, writable:false, value:5121});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SHORT", {configurable:false, enumerable:true, writable:false, value:5122});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "UNSIGNED_SHORT", {configurable:false, enumerable:true, writable:false, value:5123});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "INT", {configurable:false, enumerable:true, writable:false, value:5124});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "UNSIGNED_INT", {configurable:false, enumerable:true, writable:false, value:5125});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FLOAT", {configurable:false, enumerable:true, writable:false, value:5126});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DEPTH_COMPONENT", {configurable:false, enumerable:true, writable:false, value:6402});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ALPHA", {configurable:false, enumerable:true, writable:false, value:6406});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RGB", {configurable:false, enumerable:true, writable:false, value:6407});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RGBA", {configurable:false, enumerable:true, writable:false, value:6408});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LUMINANCE", {configurable:false, enumerable:true, writable:false, value:6409});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LUMINANCE_ALPHA", {configurable:false, enumerable:true, writable:false, value:6410});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "UNSIGNED_SHORT_4_4_4_4", {configurable:false, enumerable:true, writable:false, value:32819});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "UNSIGNED_SHORT_5_5_5_1", {configurable:false, enumerable:true, writable:false, value:32820});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "UNSIGNED_SHORT_5_6_5", {configurable:false, enumerable:true, writable:false, value:33635});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRAGMENT_SHADER", {configurable:false, enumerable:true, writable:false, value:35632});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "VERTEX_SHADER", {configurable:false, enumerable:true, writable:false, value:35633});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MAX_VERTEX_ATTRIBS", {configurable:false, enumerable:true, writable:false, value:34921});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MAX_VERTEX_UNIFORM_VECTORS", {configurable:false, enumerable:true, writable:false, value:36347});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MAX_VARYING_VECTORS", {configurable:false, enumerable:true, writable:false, value:36348});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MAX_COMBINED_TEXTURE_IMAGE_UNITS", {configurable:false, enumerable:true, writable:false, value:35661});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MAX_VERTEX_TEXTURE_IMAGE_UNITS", {configurable:false, enumerable:true, writable:false, value:35660});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MAX_TEXTURE_IMAGE_UNITS", {configurable:false, enumerable:true, writable:false, value:34930});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MAX_FRAGMENT_UNIFORM_VECTORS", {configurable:false, enumerable:true, writable:false, value:36349});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SHADER_TYPE", {configurable:false, enumerable:true, writable:false, value:35663});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DELETE_STATUS", {configurable:false, enumerable:true, writable:false, value:35712});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LINK_STATUS", {configurable:false, enumerable:true, writable:false, value:35714});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "VALIDATE_STATUS", {configurable:false, enumerable:true, writable:false, value:35715});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ATTACHED_SHADERS", {configurable:false, enumerable:true, writable:false, value:35717});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ACTIVE_UNIFORMS", {configurable:false, enumerable:true, writable:false, value:35718});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ACTIVE_ATTRIBUTES", {configurable:false, enumerable:true, writable:false, value:35721});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SHADING_LANGUAGE_VERSION", {configurable:false, enumerable:true, writable:false, value:35724});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "CURRENT_PROGRAM", {configurable:false, enumerable:true, writable:false, value:35725});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "NEVER", {configurable:false, enumerable:true, writable:false, value:512});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LESS", {configurable:false, enumerable:true, writable:false, value:513});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "EQUAL", {configurable:false, enumerable:true, writable:false, value:514});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LEQUAL", {configurable:false, enumerable:true, writable:false, value:515});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "GREATER", {configurable:false, enumerable:true, writable:false, value:516});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "NOTEQUAL", {configurable:false, enumerable:true, writable:false, value:517});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "GEQUAL", {configurable:false, enumerable:true, writable:false, value:518});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ALWAYS", {configurable:false, enumerable:true, writable:false, value:519});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "KEEP", {configurable:false, enumerable:true, writable:false, value:7680});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "REPLACE", {configurable:false, enumerable:true, writable:false, value:7681});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "INCR", {configurable:false, enumerable:true, writable:false, value:7682});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DECR", {configurable:false, enumerable:true, writable:false, value:7683});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "INVERT", {configurable:false, enumerable:true, writable:false, value:5386});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "INCR_WRAP", {configurable:false, enumerable:true, writable:false, value:34055});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DECR_WRAP", {configurable:false, enumerable:true, writable:false, value:34056});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "VENDOR", {configurable:false, enumerable:true, writable:false, value:7936});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RENDERER", {configurable:false, enumerable:true, writable:false, value:7937});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "VERSION", {configurable:false, enumerable:true, writable:false, value:7938});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "NEAREST", {configurable:false, enumerable:true, writable:false, value:9728});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LINEAR", {configurable:false, enumerable:true, writable:false, value:9729});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "NEAREST_MIPMAP_NEAREST", {configurable:false, enumerable:true, writable:false, value:9984});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LINEAR_MIPMAP_NEAREST", {configurable:false, enumerable:true, writable:false, value:9985});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "NEAREST_MIPMAP_LINEAR", {configurable:false, enumerable:true, writable:false, value:9986});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LINEAR_MIPMAP_LINEAR", {configurable:false, enumerable:true, writable:false, value:9987});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_MAG_FILTER", {configurable:false, enumerable:true, writable:false, value:10240});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_MIN_FILTER", {configurable:false, enumerable:true, writable:false, value:10241});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_WRAP_S", {configurable:false, enumerable:true, writable:false, value:10242});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_WRAP_T", {configurable:false, enumerable:true, writable:false, value:10243});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE", {configurable:false, enumerable:true, writable:false, value:5890});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_CUBE_MAP", {configurable:false, enumerable:true, writable:false, value:34067});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_BINDING_CUBE_MAP", {configurable:false, enumerable:true, writable:false, value:34068});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_CUBE_MAP_POSITIVE_X", {configurable:false, enumerable:true, writable:false, value:34069});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_CUBE_MAP_NEGATIVE_X", {configurable:false, enumerable:true, writable:false, value:34070});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_CUBE_MAP_POSITIVE_Y", {configurable:false, enumerable:true, writable:false, value:34071});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_CUBE_MAP_NEGATIVE_Y", {configurable:false, enumerable:true, writable:false, value:34072});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_CUBE_MAP_POSITIVE_Z", {configurable:false, enumerable:true, writable:false, value:34073});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE_CUBE_MAP_NEGATIVE_Z", {configurable:false, enumerable:true, writable:false, value:34074});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MAX_CUBE_MAP_TEXTURE_SIZE", {configurable:false, enumerable:true, writable:false, value:34076});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE0", {configurable:false, enumerable:true, writable:false, value:33984});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE1", {configurable:false, enumerable:true, writable:false, value:33985});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE2", {configurable:false, enumerable:true, writable:false, value:33986});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE3", {configurable:false, enumerable:true, writable:false, value:33987});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE4", {configurable:false, enumerable:true, writable:false, value:33988});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE5", {configurable:false, enumerable:true, writable:false, value:33989});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE6", {configurable:false, enumerable:true, writable:false, value:33990});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE7", {configurable:false, enumerable:true, writable:false, value:33991});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE8", {configurable:false, enumerable:true, writable:false, value:33992});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE9", {configurable:false, enumerable:true, writable:false, value:33993});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE10", {configurable:false, enumerable:true, writable:false, value:33994});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE11", {configurable:false, enumerable:true, writable:false, value:33995});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE12", {configurable:false, enumerable:true, writable:false, value:33996});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE13", {configurable:false, enumerable:true, writable:false, value:33997});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE14", {configurable:false, enumerable:true, writable:false, value:33998});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE15", {configurable:false, enumerable:true, writable:false, value:33999});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE16", {configurable:false, enumerable:true, writable:false, value:34000});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE17", {configurable:false, enumerable:true, writable:false, value:34001});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE18", {configurable:false, enumerable:true, writable:false, value:34002});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE19", {configurable:false, enumerable:true, writable:false, value:34003});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE20", {configurable:false, enumerable:true, writable:false, value:34004});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE21", {configurable:false, enumerable:true, writable:false, value:34005});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE22", {configurable:false, enumerable:true, writable:false, value:34006});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE23", {configurable:false, enumerable:true, writable:false, value:34007});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE24", {configurable:false, enumerable:true, writable:false, value:34008});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE25", {configurable:false, enumerable:true, writable:false, value:34009});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE26", {configurable:false, enumerable:true, writable:false, value:34010});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE27", {configurable:false, enumerable:true, writable:false, value:34011});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE28", {configurable:false, enumerable:true, writable:false, value:34012});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE29", {configurable:false, enumerable:true, writable:false, value:34013});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE30", {configurable:false, enumerable:true, writable:false, value:34014});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "TEXTURE31", {configurable:false, enumerable:true, writable:false, value:34015});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "ACTIVE_TEXTURE", {configurable:false, enumerable:true, writable:false, value:34016});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "REPEAT", {configurable:false, enumerable:true, writable:false, value:10497});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "CLAMP_TO_EDGE", {configurable:false, enumerable:true, writable:false, value:33071});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MIRRORED_REPEAT", {configurable:false, enumerable:true, writable:false, value:33648});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FLOAT_VEC2", {configurable:false, enumerable:true, writable:false, value:35664});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FLOAT_VEC3", {configurable:false, enumerable:true, writable:false, value:35665});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FLOAT_VEC4", {configurable:false, enumerable:true, writable:false, value:35666});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "INT_VEC2", {configurable:false, enumerable:true, writable:false, value:35667});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "INT_VEC3", {configurable:false, enumerable:true, writable:false, value:35668});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "INT_VEC4", {configurable:false, enumerable:true, writable:false, value:35669});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BOOL", {configurable:false, enumerable:true, writable:false, value:35670});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BOOL_VEC2", {configurable:false, enumerable:true, writable:false, value:35671});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BOOL_VEC3", {configurable:false, enumerable:true, writable:false, value:35672});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BOOL_VEC4", {configurable:false, enumerable:true, writable:false, value:35673});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FLOAT_MAT2", {configurable:false, enumerable:true, writable:false, value:35674});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FLOAT_MAT3", {configurable:false, enumerable:true, writable:false, value:35675});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FLOAT_MAT4", {configurable:false, enumerable:true, writable:false, value:35676});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SAMPLER_2D", {configurable:false, enumerable:true, writable:false, value:35678});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "SAMPLER_CUBE", {configurable:false, enumerable:true, writable:false, value:35680});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "VERTEX_ATTRIB_ARRAY_ENABLED", {configurable:false, enumerable:true, writable:false, value:34338});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "VERTEX_ATTRIB_ARRAY_SIZE", {configurable:false, enumerable:true, writable:false, value:34339});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "VERTEX_ATTRIB_ARRAY_STRIDE", {configurable:false, enumerable:true, writable:false, value:34340});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "VERTEX_ATTRIB_ARRAY_TYPE", {configurable:false, enumerable:true, writable:false, value:34341});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "VERTEX_ATTRIB_ARRAY_NORMALIZED", {configurable:false, enumerable:true, writable:false, value:34922});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "VERTEX_ATTRIB_ARRAY_POINTER", {configurable:false, enumerable:true, writable:false, value:34373});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", {configurable:false, enumerable:true, writable:false, value:34975});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "IMPLEMENTATION_COLOR_READ_TYPE", {configurable:false, enumerable:true, writable:false, value:35738});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "IMPLEMENTATION_COLOR_READ_FORMAT", {configurable:false, enumerable:true, writable:false, value:35739});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "COMPILE_STATUS", {configurable:false, enumerable:true, writable:false, value:35713});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LOW_FLOAT", {configurable:false, enumerable:true, writable:false, value:36336});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MEDIUM_FLOAT", {configurable:false, enumerable:true, writable:false, value:36337});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "HIGH_FLOAT", {configurable:false, enumerable:true, writable:false, value:36338});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "LOW_INT", {configurable:false, enumerable:true, writable:false, value:36339});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MEDIUM_INT", {configurable:false, enumerable:true, writable:false, value:36340});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "HIGH_INT", {configurable:false, enumerable:true, writable:false, value:36341});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRAMEBUFFER", {configurable:false, enumerable:true, writable:false, value:36160});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RENDERBUFFER", {configurable:false, enumerable:true, writable:false, value:36161});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RGBA4", {configurable:false, enumerable:true, writable:false, value:32854});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RGB5_A1", {configurable:false, enumerable:true, writable:false, value:32855});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RGB565", {configurable:false, enumerable:true, writable:false, value:36194});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DEPTH_COMPONENT16", {configurable:false, enumerable:true, writable:false, value:33189});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_INDEX8", {configurable:false, enumerable:true, writable:false, value:36168});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DEPTH_STENCIL", {configurable:false, enumerable:true, writable:false, value:34041});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RENDERBUFFER_WIDTH", {configurable:false, enumerable:true, writable:false, value:36162});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RENDERBUFFER_HEIGHT", {configurable:false, enumerable:true, writable:false, value:36163});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RENDERBUFFER_INTERNAL_FORMAT", {configurable:false, enumerable:true, writable:false, value:36164});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RENDERBUFFER_RED_SIZE", {configurable:false, enumerable:true, writable:false, value:36176});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RENDERBUFFER_GREEN_SIZE", {configurable:false, enumerable:true, writable:false, value:36177});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RENDERBUFFER_BLUE_SIZE", {configurable:false, enumerable:true, writable:false, value:36178});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RENDERBUFFER_ALPHA_SIZE", {configurable:false, enumerable:true, writable:false, value:36179});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RENDERBUFFER_DEPTH_SIZE", {configurable:false, enumerable:true, writable:false, value:36180});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RENDERBUFFER_STENCIL_SIZE", {configurable:false, enumerable:true, writable:false, value:36181});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", {configurable:false, enumerable:true, writable:false, value:36048});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", {configurable:false, enumerable:true, writable:false, value:36049});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", {configurable:false, enumerable:true, writable:false, value:36050});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", {configurable:false, enumerable:true, writable:false, value:36051});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "COLOR_ATTACHMENT0", {configurable:false, enumerable:true, writable:false, value:36064});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DEPTH_ATTACHMENT", {configurable:false, enumerable:true, writable:false, value:36096});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "STENCIL_ATTACHMENT", {configurable:false, enumerable:true, writable:false, value:36128});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "DEPTH_STENCIL_ATTACHMENT", {configurable:false, enumerable:true, writable:false, value:33306});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "NONE", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRAMEBUFFER_COMPLETE", {configurable:false, enumerable:true, writable:false, value:36053});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", {configurable:false, enumerable:true, writable:false, value:36054});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", {configurable:false, enumerable:true, writable:false, value:36055});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", {configurable:false, enumerable:true, writable:false, value:36057});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRAMEBUFFER_UNSUPPORTED", {configurable:false, enumerable:true, writable:false, value:36061});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "FRAMEBUFFER_BINDING", {configurable:false, enumerable:true, writable:false, value:36006});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "RENDERBUFFER_BINDING", {configurable:false, enumerable:true, writable:false, value:36007});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "MAX_RENDERBUFFER_SIZE", {configurable:false, enumerable:true, writable:false, value:34024});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "INVALID_FRAMEBUFFER_OPERATION", {configurable:false, enumerable:true, writable:false, value:1286});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "UNPACK_FLIP_Y_WEBGL", {configurable:false, enumerable:true, writable:false, value:37440});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "UNPACK_PREMULTIPLY_ALPHA_WEBGL", {configurable:false, enumerable:true, writable:false, value:37441});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "CONTEXT_LOST_WEBGL", {configurable:false, enumerable:true, writable:false, value:37442});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "UNPACK_COLORSPACE_CONVERSION_WEBGL", {configurable:false, enumerable:true, writable:false, value:37443});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "BROWSER_DEFAULT_WEBGL", {configurable:false, enumerable:true, writable:false, value:37444});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "activeTexture", {configurable:true, enumerable:true, writable:true, value:function activeTexture (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "activeTexture", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "attachShader", {configurable:true, enumerable:true, writable:true, value:function attachShader (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "attachShader", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "bindAttribLocation", {configurable:true, enumerable:true, writable:true, value:function bindAttribLocation (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "bindAttribLocation", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "bindRenderbuffer", {configurable:true, enumerable:true, writable:true, value:function bindRenderbuffer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "bindRenderbuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "blendColor", {configurable:true, enumerable:true, writable:true, value:function blendColor (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "blendColor", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "blendEquation", {configurable:true, enumerable:true, writable:true, value:function blendEquation (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "blendEquation", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "blendEquationSeparate", {configurable:true, enumerable:true, writable:true, value:function blendEquationSeparate (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "blendEquationSeparate", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "blendFunc", {configurable:true, enumerable:true, writable:true, value:function blendFunc (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "blendFunc", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "blendFuncSeparate", {configurable:true, enumerable:true, writable:true, value:function blendFuncSeparate (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "blendFuncSeparate", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "bufferData", {configurable:true, enumerable:true, writable:true, value:function bufferData (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "bufferData", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "bufferSubData", {configurable:true, enumerable:true, writable:true, value:function bufferSubData (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "bufferSubData", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "checkFramebufferStatus", {configurable:true, enumerable:true, writable:true, value:function checkFramebufferStatus (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "checkFramebufferStatus", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "compileShader", {configurable:true, enumerable:true, writable:true, value:function compileShader (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "compileShader", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "compressedTexImage2D", {configurable:true, enumerable:true, writable:true, value:function compressedTexImage2D (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "compressedTexImage2D", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "compressedTexSubImage2D", {configurable:true, enumerable:true, writable:true, value:function compressedTexSubImage2D (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "compressedTexSubImage2D", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "copyTexImage2D", {configurable:true, enumerable:true, writable:true, value:function copyTexImage2D (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "copyTexImage2D", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "copyTexSubImage2D", {configurable:true, enumerable:true, writable:true, value:function copyTexSubImage2D (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "copyTexSubImage2D", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "createBuffer", {configurable:true, enumerable:true, writable:true, value:function createBuffer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "createBuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "createFramebuffer", {configurable:true, enumerable:true, writable:true, value:function createFramebuffer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "createFramebuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "createProgram", {configurable:true, enumerable:true, writable:true, value:function createProgram (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "createProgram", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "createRenderbuffer", {configurable:true, enumerable:true, writable:true, value:function createRenderbuffer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "createRenderbuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "createShader", {configurable:true, enumerable:true, writable:true, value:function createShader (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "createShader", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "createTexture", {configurable:true, enumerable:true, writable:true, value:function createTexture (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "createTexture", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "cullFace", {configurable:true, enumerable:true, writable:true, value:function cullFace (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "cullFace", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "deleteBuffer", {configurable:true, enumerable:true, writable:true, value:function deleteBuffer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "deleteBuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "deleteFramebuffer", {configurable:true, enumerable:true, writable:true, value:function deleteFramebuffer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "deleteFramebuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "deleteProgram", {configurable:true, enumerable:true, writable:true, value:function deleteProgram (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "deleteProgram", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "deleteRenderbuffer", {configurable:true, enumerable:true, writable:true, value:function deleteRenderbuffer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "deleteRenderbuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "deleteShader", {configurable:true, enumerable:true, writable:true, value:function deleteShader (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "deleteShader", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "deleteTexture", {configurable:true, enumerable:true, writable:true, value:function deleteTexture (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "deleteTexture", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "depthFunc", {configurable:true, enumerable:true, writable:true, value:function depthFunc (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "depthFunc", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "depthMask", {configurable:true, enumerable:true, writable:true, value:function depthMask (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "depthMask", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "depthRange", {configurable:true, enumerable:true, writable:true, value:function depthRange (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "depthRange", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "detachShader", {configurable:true, enumerable:true, writable:true, value:function detachShader (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "detachShader", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "disable", {configurable:true, enumerable:true, writable:true, value:function disable (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "disable", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "enable", {configurable:true, enumerable:true, writable:true, value:function enable (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "enable", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "finish", {configurable:true, enumerable:true, writable:true, value:function finish (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "finish", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "flush", {configurable:true, enumerable:true, writable:true, value:function flush (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "flush", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "framebufferRenderbuffer", {configurable:true, enumerable:true, writable:true, value:function framebufferRenderbuffer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "framebufferRenderbuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "framebufferTexture2D", {configurable:true, enumerable:true, writable:true, value:function framebufferTexture2D (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "framebufferTexture2D", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "frontFace", {configurable:true, enumerable:true, writable:true, value:function frontFace (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "frontFace", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "generateMipmap", {configurable:true, enumerable:true, writable:true, value:function generateMipmap (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "generateMipmap", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getActiveAttrib", {configurable:true, enumerable:true, writable:true, value:function getActiveAttrib (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getActiveAttrib", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getActiveUniform", {configurable:true, enumerable:true, writable:true, value:function getActiveUniform (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getActiveUniform", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getAttachedShaders", {configurable:true, enumerable:true, writable:true, value:function getAttachedShaders (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getAttachedShaders", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getAttribLocation", {configurable:true, enumerable:true, writable:true, value:function getAttribLocation (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getAttribLocation", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getBufferParameter", {configurable:true, enumerable:true, writable:true, value:function getBufferParameter (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getBufferParameter", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getContextAttributes", {configurable:true, enumerable:true, writable:true, value:function getContextAttributes (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getContextAttributes", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getError", {configurable:true, enumerable:true, writable:true, value:function getError (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getError", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getExtension", {configurable:true, enumerable:true, writable:true, value:function getExtension (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getExtension", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getFramebufferAttachmentParameter", {configurable:true, enumerable:true, writable:true, value:function getFramebufferAttachmentParameter (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getFramebufferAttachmentParameter", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getParameter", {configurable:true, enumerable:true, writable:true, value:function getParameter (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getParameter", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getProgramInfoLog", {configurable:true, enumerable:true, writable:true, value:function getProgramInfoLog (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getProgramInfoLog", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getProgramParameter", {configurable:true, enumerable:true, writable:true, value:function getProgramParameter (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getProgramParameter", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getRenderbufferParameter", {configurable:true, enumerable:true, writable:true, value:function getRenderbufferParameter (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getRenderbufferParameter", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getShaderInfoLog", {configurable:true, enumerable:true, writable:true, value:function getShaderInfoLog (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getShaderInfoLog", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getShaderParameter", {configurable:true, enumerable:true, writable:true, value:function getShaderParameter (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getShaderParameter", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getShaderPrecisionFormat", {configurable:true, enumerable:true, writable:true, value:function getShaderPrecisionFormat (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getShaderPrecisionFormat", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getShaderSource", {configurable:true, enumerable:true, writable:true, value:function getShaderSource (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getShaderSource", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getSupportedExtensions", {configurable:true, enumerable:true, writable:true, value:function getSupportedExtensions (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getSupportedExtensions", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getTexParameter", {configurable:true, enumerable:true, writable:true, value:function getTexParameter (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getTexParameter", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getUniform", {configurable:true, enumerable:true, writable:true, value:function getUniform (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getUniform", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getUniformLocation", {configurable:true, enumerable:true, writable:true, value:function getUniformLocation (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getUniformLocation", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getVertexAttrib", {configurable:true, enumerable:true, writable:true, value:function getVertexAttrib (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getVertexAttrib", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "getVertexAttribOffset", {configurable:true, enumerable:true, writable:true, value:function getVertexAttribOffset (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "getVertexAttribOffset", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "hint", {configurable:true, enumerable:true, writable:true, value:function hint (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "hint", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "isBuffer", {configurable:true, enumerable:true, writable:true, value:function isBuffer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "isBuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "isContextLost", {configurable:true, enumerable:true, writable:true, value:function isContextLost (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "isContextLost", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "isEnabled", {configurable:true, enumerable:true, writable:true, value:function isEnabled (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "isEnabled", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "isFramebuffer", {configurable:true, enumerable:true, writable:true, value:function isFramebuffer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "isFramebuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "isProgram", {configurable:true, enumerable:true, writable:true, value:function isProgram (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "isProgram", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "isRenderbuffer", {configurable:true, enumerable:true, writable:true, value:function isRenderbuffer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "isRenderbuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "isShader", {configurable:true, enumerable:true, writable:true, value:function isShader (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "isShader", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "isTexture", {configurable:true, enumerable:true, writable:true, value:function isTexture (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "isTexture", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "lineWidth", {configurable:true, enumerable:true, writable:true, value:function lineWidth (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "lineWidth", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "linkProgram", {configurable:true, enumerable:true, writable:true, value:function linkProgram (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "linkProgram", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "pixelStorei", {configurable:true, enumerable:true, writable:true, value:function pixelStorei (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "pixelStorei", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "polygonOffset", {configurable:true, enumerable:true, writable:true, value:function polygonOffset (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "polygonOffset", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "readPixels", {configurable:true, enumerable:true, writable:true, value:function readPixels (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "readPixels", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "renderbufferStorage", {configurable:true, enumerable:true, writable:true, value:function renderbufferStorage (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "renderbufferStorage", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "sampleCoverage", {configurable:true, enumerable:true, writable:true, value:function sampleCoverage (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "sampleCoverage", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "shaderSource", {configurable:true, enumerable:true, writable:true, value:function shaderSource (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "shaderSource", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "stencilFunc", {configurable:true, enumerable:true, writable:true, value:function stencilFunc (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "stencilFunc", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "stencilFuncSeparate", {configurable:true, enumerable:true, writable:true, value:function stencilFuncSeparate (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "stencilFuncSeparate", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "stencilMask", {configurable:true, enumerable:true, writable:true, value:function stencilMask (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "stencilMask", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "stencilMaskSeparate", {configurable:true, enumerable:true, writable:true, value:function stencilMaskSeparate (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "stencilMaskSeparate", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "stencilOp", {configurable:true, enumerable:true, writable:true, value:function stencilOp (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "stencilOp", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "stencilOpSeparate", {configurable:true, enumerable:true, writable:true, value:function stencilOpSeparate (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "stencilOpSeparate", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "texImage2D", {configurable:true, enumerable:true, writable:true, value:function texImage2D (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "texImage2D", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "texParameterf", {configurable:true, enumerable:true, writable:true, value:function texParameterf (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "texParameterf", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "texParameteri", {configurable:true, enumerable:true, writable:true, value:function texParameteri (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "texParameteri", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "texSubImage2D", {configurable:true, enumerable:true, writable:true, value:function texSubImage2D (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "texSubImage2D", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "useProgram", {configurable:true, enumerable:true, writable:true, value:function useProgram (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "useProgram", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "validateProgram", {configurable:true, enumerable:true, writable:true, value:function validateProgram (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "validateProgram", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "bindBuffer", {configurable:true, enumerable:true, writable:true, value:function bindBuffer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "bindBuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "bindFramebuffer", {configurable:true, enumerable:true, writable:true, value:function bindFramebuffer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "bindFramebuffer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "bindTexture", {configurable:true, enumerable:true, writable:true, value:function bindTexture (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "bindTexture", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "clear", {configurable:true, enumerable:true, writable:true, value:function clear (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "clear", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "clearColor", {configurable:true, enumerable:true, writable:true, value:function clearColor (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "clearColor", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "clearDepth", {configurable:true, enumerable:true, writable:true, value:function clearDepth (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "clearDepth", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "clearStencil", {configurable:true, enumerable:true, writable:true, value:function clearStencil (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "clearStencil", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "colorMask", {configurable:true, enumerable:true, writable:true, value:function colorMask (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "colorMask", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "disableVertexAttribArray", {configurable:true, enumerable:true, writable:true, value:function disableVertexAttribArray (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "disableVertexAttribArray", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "drawArrays", {configurable:true, enumerable:true, writable:true, value:function drawArrays (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "drawArrays", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "drawElements", {configurable:true, enumerable:true, writable:true, value:function drawElements (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "drawElements", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "enableVertexAttribArray", {configurable:true, enumerable:true, writable:true, value:function enableVertexAttribArray (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "enableVertexAttribArray", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "scissor", {configurable:true, enumerable:true, writable:true, value:function scissor (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "scissor", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform1f", {configurable:true, enumerable:true, writable:true, value:function uniform1f (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform1f", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform1fv", {configurable:true, enumerable:true, writable:true, value:function uniform1fv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform1fv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform1i", {configurable:true, enumerable:true, writable:true, value:function uniform1i (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform1i", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform1iv", {configurable:true, enumerable:true, writable:true, value:function uniform1iv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform1iv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform2f", {configurable:true, enumerable:true, writable:true, value:function uniform2f (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform2f", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform2fv", {configurable:true, enumerable:true, writable:true, value:function uniform2fv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform2fv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform2i", {configurable:true, enumerable:true, writable:true, value:function uniform2i (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform2i", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform2iv", {configurable:true, enumerable:true, writable:true, value:function uniform2iv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform2iv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform3f", {configurable:true, enumerable:true, writable:true, value:function uniform3f (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform3f", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform3fv", {configurable:true, enumerable:true, writable:true, value:function uniform3fv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform3fv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform3i", {configurable:true, enumerable:true, writable:true, value:function uniform3i (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform3i", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform3iv", {configurable:true, enumerable:true, writable:true, value:function uniform3iv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform3iv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform4f", {configurable:true, enumerable:true, writable:true, value:function uniform4f (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform4f", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform4fv", {configurable:true, enumerable:true, writable:true, value:function uniform4fv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform4fv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform4i", {configurable:true, enumerable:true, writable:true, value:function uniform4i (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform4i", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniform4iv", {configurable:true, enumerable:true, writable:true, value:function uniform4iv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniform4iv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniformMatrix2fv", {configurable:true, enumerable:true, writable:true, value:function uniformMatrix2fv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniformMatrix2fv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniformMatrix3fv", {configurable:true, enumerable:true, writable:true, value:function uniformMatrix3fv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniformMatrix3fv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "uniformMatrix4fv", {configurable:true, enumerable:true, writable:true, value:function uniformMatrix4fv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "uniformMatrix4fv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "vertexAttrib1f", {configurable:true, enumerable:true, writable:true, value:function vertexAttrib1f (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "vertexAttrib1f", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "vertexAttrib1fv", {configurable:true, enumerable:true, writable:true, value:function vertexAttrib1fv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "vertexAttrib1fv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "vertexAttrib2f", {configurable:true, enumerable:true, writable:true, value:function vertexAttrib2f (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "vertexAttrib2f", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "vertexAttrib2fv", {configurable:true, enumerable:true, writable:true, value:function vertexAttrib2fv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "vertexAttrib2fv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "vertexAttrib3f", {configurable:true, enumerable:true, writable:true, value:function vertexAttrib3f (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "vertexAttrib3f", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "vertexAttrib3fv", {configurable:true, enumerable:true, writable:true, value:function vertexAttrib3fv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "vertexAttrib3fv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "vertexAttrib4f", {configurable:true, enumerable:true, writable:true, value:function vertexAttrib4f (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "vertexAttrib4f", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "vertexAttrib4fv", {configurable:true, enumerable:true, writable:true, value:function vertexAttrib4fv (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "vertexAttrib4fv", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "vertexAttribPointer", {configurable:true, enumerable:true, writable:true, value:function vertexAttribPointer (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "vertexAttribPointer", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "viewport", {configurable:true, enumerable:true, writable:true, value:function viewport (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "viewport", arguments)}});
-bodavm.toolsFunc.defineProperty(WebGLRenderingContext.prototype, "makeXRCompatible", {configurable:true, enumerable:true, writable:true, value:function makeXRCompatible (){return bodavm.toolsFunc.dispatch(this, WebGLRenderingContext.prototype, "WebGLRenderingContext", "makeXRCompatible", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/WebGLShader.js b/env_xbb_lastest_cheerio/env/WebGLShader.js
deleted file mode 100644
index 8786f09d..00000000
--- a/env_xbb_lastest_cheerio/env/WebGLShader.js
+++ /dev/null
@@ -1,3 +0,0 @@
-// WebGLShader对象
-WebGLShader = function WebGLShader(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(WebGLShader, "WebGLShader");
diff --git a/env_xbb_lastest_cheerio/env/WebGLShaderPrecisionFormat.js b/env_xbb_lastest_cheerio/env/WebGLShaderPrecisionFormat.js
deleted file mode 100644
index 8cc19d8c..00000000
--- a/env_xbb_lastest_cheerio/env/WebGLShaderPrecisionFormat.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// WebGLShaderPrecisionFormat对象
-WebGLShaderPrecisionFormat = function WebGLShaderPrecisionFormat(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(WebGLShaderPrecisionFormat, "WebGLShaderPrecisionFormat");
-bodavm.toolsFunc.defineProperty(WebGLShaderPrecisionFormat.prototype, "rangeMin", {configurable:true, enumerable:true, get:function rangeMin (){return bodavm.toolsFunc.dispatch(this, WebGLShaderPrecisionFormat.prototype, "WebGLShaderPrecisionFormat", "rangeMin_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(WebGLShaderPrecisionFormat.prototype, "rangeMax", {configurable:true, enumerable:true, get:function rangeMax (){return bodavm.toolsFunc.dispatch(this, WebGLShaderPrecisionFormat.prototype, "WebGLShaderPrecisionFormat", "rangeMax_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(WebGLShaderPrecisionFormat.prototype, "precision", {configurable:true, enumerable:true, get:function precision (){return bodavm.toolsFunc.dispatch(this, WebGLShaderPrecisionFormat.prototype, "WebGLShaderPrecisionFormat", "precision_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/WebSocket.js b/env_xbb_lastest_cheerio/env/WebSocket.js
deleted file mode 100644
index e7d64dfd..00000000
--- a/env_xbb_lastest_cheerio/env/WebSocket.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// WebSocket对象
-WebSocket = function WebSocket(){
- if(arguments.length<1){
- return bodavm.toolsFunc.throwError("TypeError", "Failed to construct 'WebSocket': 1 argument required, but only 0 present.")}
-
- }
-bodavm.toolsFunc.safeProto(WebSocket, "WebSocket");
-WebSocket.prototype.__proto__=EventTarget.prototype;
-WebSocket.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(WebSocket, "CONNECTING", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(WebSocket, "OPEN", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(WebSocket, "CLOSING", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(WebSocket, "CLOSED", {configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "url", {configurable:true, enumerable:true, get:function url (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "url_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "readyState", {configurable:true, enumerable:true, get:function readyState (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "readyState_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "bufferedAmount", {configurable:true, enumerable:true, get:function bufferedAmount (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "bufferedAmount_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "onopen", {configurable:true, enumerable:true, get:function onopen (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "onopen_get", arguments)}, set:function onopen (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "onopen_set", arguments)}});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "onerror", {configurable:true, enumerable:true, get:function onerror (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "onerror_get", arguments)}, set:function onerror (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "onerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "onclose", {configurable:true, enumerable:true, get:function onclose (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "onclose_get", arguments)}, set:function onclose (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "onclose_set", arguments)}});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "extensions", {configurable:true, enumerable:true, get:function extensions (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "extensions_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "protocol", {configurable:true, enumerable:true, get:function protocol (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "protocol_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "onmessage", {configurable:true, enumerable:true, get:function onmessage (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "onmessage_get", arguments)}, set:function onmessage (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "onmessage_set", arguments)}});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "binaryType", {configurable:true, enumerable:true, get:function binaryType (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "binaryType_get", arguments)}, set:function binaryType (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "binaryType_set", arguments)}});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "CONNECTING", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "OPEN", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "CLOSING", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "CLOSED", {configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "close", {configurable:true, enumerable:true, writable:true, value:function close (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "close", arguments)}});
-bodavm.toolsFunc.defineProperty(WebSocket.prototype, "send", {configurable:true, enumerable:true, writable:true, value:function send (){return bodavm.toolsFunc.dispatch(this, WebSocket.prototype, "WebSocket", "send", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/Window.js b/env_xbb_lastest_cheerio/env/Window.js
deleted file mode 100644
index e1c6c487..00000000
--- a/env_xbb_lastest_cheerio/env/Window.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// Window对象
-Window = function Window(){
- if (arguments[0] !=='bobo'){
- return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")
- }}
-bodavm.toolsFunc.safeProto(Window, "Window");
-Window.prototype.__proto__=WindowProperties.prototype;
-Window.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(Window, "TEMPORARY", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(Window, "PERSISTENT", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(Window.prototype, "TEMPORARY", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(Window.prototype, "PERSISTENT", {configurable:false, enumerable:true, writable:false, value:1});
-
-// self=window;
-// window==self ; ///true
-// window =new Proxy(window,{});
-// window==self;//false
-//需要连续赋值,可以过代理检测
-// top=self=window=new Proxy(window,{})
diff --git a/env_xbb_lastest_cheerio/env/WindowProperties.js b/env_xbb_lastest_cheerio/env/WindowProperties.js
deleted file mode 100644
index ccc35c94..00000000
--- a/env_xbb_lastest_cheerio/env/WindowProperties.js
+++ /dev/null
@@ -1,10 +0,0 @@
-WindowProperties = function WindowProperties() {
- return bodavm.toolsFunc.throwError("TypeError","Illegal constructor")
- // throw ReferenceError(`WindowProperties is not defined
- // at :1:100`)
- ;
-}
-bodavm.toolsFunc.safeProto(WindowProperties, 'WindowProperties')
-WindowProperties.prototype.__proto__=EventTarget.prototype;
-WindowProperties.__proto__=EventTarget;
-delete WindowProperties.prototype.constructor;
diff --git a/env_xbb_lastest_cheerio/env/XMLHttpRequest.js b/env_xbb_lastest_cheerio/env/XMLHttpRequest.js
deleted file mode 100644
index 92c863a5..00000000
--- a/env_xbb_lastest_cheerio/env/XMLHttpRequest.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// XMLHttpRequest对象
-XMLHttpRequest = function XMLHttpRequest(){}
-bodavm.toolsFunc.safeProto(XMLHttpRequest, "XMLHttpRequest");
-XMLHttpRequest.prototype.__proto__=XMLHttpRequestEventTarget.prototype;
-XMLHttpRequest.__proto__=XMLHttpRequestEventTarget;
-bodavm.toolsFunc.defineProperty(XMLHttpRequest, "UNSENT", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest, "OPENED", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest, "HEADERS_RECEIVED", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest, "LOADING", {configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest, "DONE", {configurable:false, enumerable:true, writable:false, value:4});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "onreadystatechange", {configurable:true, enumerable:true, get:function onreadystatechange (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "onreadystatechange_get", arguments)}, set:function onreadystatechange (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "onreadystatechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "readyState", {configurable:true, enumerable:true, get:function readyState (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "readyState_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "timeout", {configurable:true, enumerable:true, get:function timeout (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "timeout_get", arguments)}, set:function timeout (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "timeout_set", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "withCredentials", {configurable:true, enumerable:true, get:function withCredentials (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "withCredentials_get", arguments)}, set:function withCredentials (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "withCredentials_set", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "upload", {configurable:true, enumerable:true, get:function upload (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "upload_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "responseURL", {configurable:true, enumerable:true, get:function responseURL (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "responseURL_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "status", {configurable:true, enumerable:true, get:function status (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "status_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "statusText", {configurable:true, enumerable:true, get:function statusText (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "statusText_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "responseType", {configurable:true, enumerable:true, get:function responseType (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "responseType_get", arguments)}, set:function responseType (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "responseType_set", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "response", {configurable:true, enumerable:true, get:function response (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "response_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "responseText", {configurable:true, enumerable:true, get:function responseText (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "responseText_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "responseXML", {configurable:true, enumerable:true, get:function responseXML (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "responseXML_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "UNSENT", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "OPENED", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "HEADERS_RECEIVED", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "LOADING", {configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "DONE", {configurable:false, enumerable:true, writable:false, value:4});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "abort", {configurable:true, enumerable:true, writable:true, value:function abort (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "abort", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "getAllResponseHeaders", {configurable:true, enumerable:true, writable:true, value:function getAllResponseHeaders (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "getAllResponseHeaders", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "getResponseHeader", {configurable:true, enumerable:true, writable:true, value:function getResponseHeader (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "getResponseHeader", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "open", {configurable:true, enumerable:true, writable:true, value:function open (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "open", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "overrideMimeType", {configurable:true, enumerable:true, writable:true, value:function overrideMimeType (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "overrideMimeType", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "send", {configurable:true, enumerable:true, writable:true, value:function send (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "send", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequest.prototype, "setRequestHeader", {configurable:true, enumerable:true, writable:true, value:function setRequestHeader (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequest.prototype, "XMLHttpRequest", "setRequestHeader", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/XMLHttpRequestEventTarget.js b/env_xbb_lastest_cheerio/env/XMLHttpRequestEventTarget.js
deleted file mode 100644
index f34c2d7d..00000000
--- a/env_xbb_lastest_cheerio/env/XMLHttpRequestEventTarget.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// XMLHttpRequestEventTarget对象
-XMLHttpRequestEventTarget = function XMLHttpRequestEventTarget(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(XMLHttpRequestEventTarget, "XMLHttpRequestEventTarget");
-XMLHttpRequestEventTarget.prototype.__proto__=EventTarget.prototype;
-XMLHttpRequestEventTarget.__proto__=EventTarget;
-bodavm.toolsFunc.defineProperty(XMLHttpRequestEventTarget.prototype, "onloadstart", {configurable:true, enumerable:true, get:function onloadstart (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "onloadstart_get", arguments)}, set:function onloadstart (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "onloadstart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequestEventTarget.prototype, "onprogress", {configurable:true, enumerable:true, get:function onprogress (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "onprogress_get", arguments)}, set:function onprogress (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "onprogress_set", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequestEventTarget.prototype, "onabort", {configurable:true, enumerable:true, get:function onabort (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "onabort_get", arguments)}, set:function onabort (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "onabort_set", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequestEventTarget.prototype, "onerror", {configurable:true, enumerable:true, get:function onerror (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "onerror_get", arguments)}, set:function onerror (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "onerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequestEventTarget.prototype, "onload", {configurable:true, enumerable:true, get:function onload (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "onload_get", arguments)}, set:function onload (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "onload_set", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequestEventTarget.prototype, "ontimeout", {configurable:true, enumerable:true, get:function ontimeout (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "ontimeout_get", arguments)}, set:function ontimeout (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "ontimeout_set", arguments)}});
-bodavm.toolsFunc.defineProperty(XMLHttpRequestEventTarget.prototype, "onloadend", {configurable:true, enumerable:true, get:function onloadend (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "onloadend_get", arguments)}, set:function onloadend (){return bodavm.toolsFunc.dispatch(this, XMLHttpRequestEventTarget.prototype, "XMLHttpRequestEventTarget", "onloadend_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLAllCollection.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLAllCollection.js
deleted file mode 100644
index 272cf3e5..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLAllCollection.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// HTMLAllCollection对象
-HTMLAllCollection = function HTMLAllCollection(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLAllCollection, "HTMLAllCollection");
-bodavm.toolsFunc.defineProperty(HTMLAllCollection.prototype, "length", {configurable:true, enumerable:true, get:function length (){return bodavm.toolsFunc.dispatch(this, HTMLAllCollection.prototype, "HTMLAllCollection", "length_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLAllCollection.prototype, "item", {configurable:true, enumerable:true, writable:true, value:function item (){return bodavm.toolsFunc.dispatch(this, HTMLAllCollection.prototype, "HTMLAllCollection", "item", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAllCollection.prototype, "namedItem", {configurable:true, enumerable:true, writable:true, value:function namedItem (){return bodavm.toolsFunc.dispatch(this, HTMLAllCollection.prototype, "HTMLAllCollection", "namedItem", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLAnchorElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLAnchorElement.js
deleted file mode 100644
index 9b4283fc..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLAnchorElement.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// HTMLAnchorElement对象
-HTMLAnchorElement = function HTMLAnchorElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLAnchorElement, "HTMLAnchorElement");
-HTMLAnchorElement.prototype.__proto__=HTMLElement.prototype;
-HTMLAnchorElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "target", {configurable:true, enumerable:true, get:function target (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "target_get", arguments)}, set:function target (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "target_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "download", {configurable:true, enumerable:true, get:function download (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "download_get", arguments)}, set:function download (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "download_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "ping", {configurable:true, enumerable:true, get:function ping (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "ping_get", arguments)}, set:function ping (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "ping_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "rel", {configurable:true, enumerable:true, get:function rel (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "rel_get", arguments)}, set:function rel (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "rel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "relList", {configurable:true, enumerable:true, get:function relList (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "relList_get", arguments)}, set:function relList (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "relList_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "hreflang", {configurable:true, enumerable:true, get:function hreflang (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "hreflang_get", arguments)}, set:function hreflang (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "hreflang_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "type", {configurable:true, enumerable:true, get:function type (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "type_get", arguments)}, set:function type (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "type_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "referrerPolicy", {configurable:true, enumerable:true, get:function referrerPolicy (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "referrerPolicy_get", arguments)}, set:function referrerPolicy (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "referrerPolicy_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "text", {configurable:true, enumerable:true, get:function text (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "text_get", arguments)}, set:function text (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "text_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "coords", {configurable:true, enumerable:true, get:function coords (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "coords_get", arguments)}, set:function coords (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "coords_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "charset", {configurable:true, enumerable:true, get:function charset (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "charset_get", arguments)}, set:function charset (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "charset_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "name_get", arguments)}, set:function name (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "name_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "rev", {configurable:true, enumerable:true, get:function rev (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "rev_get", arguments)}, set:function rev (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "rev_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "shape", {configurable:true, enumerable:true, get:function shape (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "shape_get", arguments)}, set:function shape (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "shape_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "origin", {configurable:true, enumerable:true, get:function origin (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "origin_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "protocol", {configurable:true, enumerable:true, get:function protocol (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "protocol_get", arguments)}, set:function protocol (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "protocol_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "username", {configurable:true, enumerable:true, get:function username (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "username_get", arguments)}, set:function username (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "username_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "password", {configurable:true, enumerable:true, get:function password (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "password_get", arguments)}, set:function password (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "password_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "host", {configurable:true, enumerable:true, get:function host (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "host_get", arguments)}, set:function host (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "host_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "hostname", {configurable:true, enumerable:true, get:function hostname (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "hostname_get", arguments)}, set:function hostname (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "hostname_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "port", {configurable:true, enumerable:true, get:function port (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "port_get", arguments)}, set:function port (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "port_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "pathname", {configurable:true, enumerable:true, get:function pathname (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "pathname_get", arguments)}, set:function pathname (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "pathname_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "search", {configurable:true, enumerable:true, get:function search (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "search_get", arguments)}, set:function search (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "search_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "hash", {configurable:true, enumerable:true, get:function hash (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "hash_get", arguments)}, set:function hash (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "hash_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "href", {configurable:true, enumerable:true, get:function href (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "href_get", arguments)}, set:function href (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "href_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "toString", {configurable:true, enumerable:true, writable:true, value:function toString (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "toString", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLAnchorElement.prototype, "hrefTranslate", {configurable:true, enumerable:true, get:function hrefTranslate (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "hrefTranslate_get", arguments)}, set:function hrefTranslate (){return bodavm.toolsFunc.dispatch(this, HTMLAnchorElement.prototype, "HTMLAnchorElement", "hrefTranslate_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLBRElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLBRElement.js
deleted file mode 100644
index 8c00a190..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLBRElement.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// HTMLBRElement对象
-HTMLBRElement = function HTMLBRElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLBRElement, "HTMLBRElement");
-HTMLBRElement.prototype.__proto__=HTMLElement.prototype;
-HTMLBRElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLBRElement.prototype, "clear", {configurable:true, enumerable:true, get:function clear (){return bodavm.toolsFunc.dispatch(this, HTMLBRElement.prototype, "HTMLBRElement", "clear_get", arguments)}, set:function clear (){return bodavm.toolsFunc.dispatch(this, HTMLBRElement.prototype, "HTMLBRElement", "clear_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLBodyElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLBodyElement.js
deleted file mode 100644
index c555a652..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLBodyElement.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// HTMLBodyElement对象
-HTMLBodyElement = function HTMLBodyElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLBodyElement, "HTMLBodyElement");
-HTMLBodyElement.prototype.__proto__=HTMLElement.prototype;
-HTMLBodyElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "text", {configurable:true, enumerable:true, get:function text (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "text_get", arguments)}, set:function text (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "text_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "link", {configurable:true, enumerable:true, get:function link (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "link_get", arguments)}, set:function link (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "link_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "vLink", {configurable:true, enumerable:true, get:function vLink (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "vLink_get", arguments)}, set:function vLink (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "vLink_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "aLink", {configurable:true, enumerable:true, get:function aLink (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "aLink_get", arguments)}, set:function aLink (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "aLink_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "bgColor", {configurable:true, enumerable:true, get:function bgColor (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "bgColor_get", arguments)}, set:function bgColor (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "bgColor_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "background", {configurable:true, enumerable:true, get:function background (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "background_get", arguments)}, set:function background (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "background_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onblur", {configurable:true, enumerable:true, get:function onblur (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onblur_get", arguments)}, set:function onblur (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onblur_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onerror", {configurable:true, enumerable:true, get:function onerror (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onerror_get", arguments)}, set:function onerror (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onfocus", {configurable:true, enumerable:true, get:function onfocus (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onfocus_get", arguments)}, set:function onfocus (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onfocus_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onload", {configurable:true, enumerable:true, get:function onload (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onload_get", arguments)}, set:function onload (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onload_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onresize", {configurable:true, enumerable:true, get:function onresize (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onresize_get", arguments)}, set:function onresize (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onresize_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onscroll", {configurable:true, enumerable:true, get:function onscroll (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onscroll_get", arguments)}, set:function onscroll (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onscroll_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onafterprint", {configurable:true, enumerable:true, get:function onafterprint (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onafterprint_get", arguments)}, set:function onafterprint (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onafterprint_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onbeforeprint", {configurable:true, enumerable:true, get:function onbeforeprint (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onbeforeprint_get", arguments)}, set:function onbeforeprint (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onbeforeprint_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onbeforeunload", {configurable:true, enumerable:true, get:function onbeforeunload (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onbeforeunload_get", arguments)}, set:function onbeforeunload (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onbeforeunload_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onhashchange", {configurable:true, enumerable:true, get:function onhashchange (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onhashchange_get", arguments)}, set:function onhashchange (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onhashchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onlanguagechange", {configurable:true, enumerable:true, get:function onlanguagechange (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onlanguagechange_get", arguments)}, set:function onlanguagechange (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onlanguagechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onmessage", {configurable:true, enumerable:true, get:function onmessage (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onmessage_get", arguments)}, set:function onmessage (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onmessage_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onmessageerror", {configurable:true, enumerable:true, get:function onmessageerror (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onmessageerror_get", arguments)}, set:function onmessageerror (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onmessageerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onoffline", {configurable:true, enumerable:true, get:function onoffline (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onoffline_get", arguments)}, set:function onoffline (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onoffline_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "ononline", {configurable:true, enumerable:true, get:function ononline (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "ononline_get", arguments)}, set:function ononline (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "ononline_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onpagehide", {configurable:true, enumerable:true, get:function onpagehide (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onpagehide_get", arguments)}, set:function onpagehide (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onpagehide_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onpageshow", {configurable:true, enumerable:true, get:function onpageshow (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onpageshow_get", arguments)}, set:function onpageshow (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onpageshow_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onpopstate", {configurable:true, enumerable:true, get:function onpopstate (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onpopstate_get", arguments)}, set:function onpopstate (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onpopstate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onrejectionhandled", {configurable:true, enumerable:true, get:function onrejectionhandled (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onrejectionhandled_get", arguments)}, set:function onrejectionhandled (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onrejectionhandled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onstorage", {configurable:true, enumerable:true, get:function onstorage (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onstorage_get", arguments)}, set:function onstorage (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onstorage_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onunhandledrejection", {configurable:true, enumerable:true, get:function onunhandledrejection (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onunhandledrejection_get", arguments)}, set:function onunhandledrejection (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onunhandledrejection_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLBodyElement.prototype, "onunload", {configurable:true, enumerable:true, get:function onunload (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onunload_get", arguments)}, set:function onunload (){return bodavm.toolsFunc.dispatch(this, HTMLBodyElement.prototype, "HTMLBodyElement", "onunload_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLButtonElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLButtonElement.js
deleted file mode 100644
index d008a929..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLButtonElement.js
+++ /dev/null
@@ -1,22 +0,0 @@
-// HTMLButtonElement对象
-HTMLButtonElement = function HTMLButtonElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLButtonElement, "HTMLButtonElement");
-HTMLButtonElement.prototype.__proto__=HTMLElement.prototype;
-HTMLButtonElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "disabled", {configurable:true, enumerable:true, get:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "disabled_get", arguments)}, set:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "disabled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "form", {configurable:true, enumerable:true, get:function form (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "form_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "formAction", {configurable:true, enumerable:true, get:function formAction (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "formAction_get", arguments)}, set:function formAction (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "formAction_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "formEnctype", {configurable:true, enumerable:true, get:function formEnctype (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "formEnctype_get", arguments)}, set:function formEnctype (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "formEnctype_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "formMethod", {configurable:true, enumerable:true, get:function formMethod (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "formMethod_get", arguments)}, set:function formMethod (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "formMethod_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "formNoValidate", {configurable:true, enumerable:true, get:function formNoValidate (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "formNoValidate_get", arguments)}, set:function formNoValidate (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "formNoValidate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "formTarget", {configurable:true, enumerable:true, get:function formTarget (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "formTarget_get", arguments)}, set:function formTarget (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "formTarget_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "name_get", arguments)}, set:function name (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "name_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "type", {configurable:true, enumerable:true, get:function type (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "type_get", arguments)}, set:function type (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "type_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "value", {configurable:true, enumerable:true, get:function value (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "value_get", arguments)}, set:function value (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "value_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "willValidate", {configurable:true, enumerable:true, get:function willValidate (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "willValidate_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "validity", {configurable:true, enumerable:true, get:function validity (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "validity_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "validationMessage", {configurable:true, enumerable:true, get:function validationMessage (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "validationMessage_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "labels", {configurable:true, enumerable:true, get:function labels (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "labels_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "checkValidity", {configurable:true, enumerable:true, writable:true, value:function checkValidity (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "checkValidity", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "reportValidity", {configurable:true, enumerable:true, writable:true, value:function reportValidity (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "reportValidity", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLButtonElement.prototype, "setCustomValidity", {configurable:true, enumerable:true, writable:true, value:function setCustomValidity (){return bodavm.toolsFunc.dispatch(this, HTMLButtonElement.prototype, "HTMLButtonElement", "setCustomValidity", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLCanvasElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLCanvasElement.js
deleted file mode 100644
index 98f8dca2..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLCanvasElement.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// HTMLCanvasElement对象
-HTMLCanvasElement = function HTMLCanvasElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLCanvasElement, "HTMLCanvasElement");
-HTMLCanvasElement.prototype.__proto__=HTMLElement.prototype;
-HTMLCanvasElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLCanvasElement.prototype, "width", {configurable:true, enumerable:true, get:function width (){return bodavm.toolsFunc.dispatch(this, HTMLCanvasElement.prototype, "HTMLCanvasElement", "width_get", arguments)}, set:function width (){return bodavm.toolsFunc.dispatch(this, HTMLCanvasElement.prototype, "HTMLCanvasElement", "width_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLCanvasElement.prototype, "height", {configurable:true, enumerable:true, get:function height (){return bodavm.toolsFunc.dispatch(this, HTMLCanvasElement.prototype, "HTMLCanvasElement", "height_get", arguments)}, set:function height (){return bodavm.toolsFunc.dispatch(this, HTMLCanvasElement.prototype, "HTMLCanvasElement", "height_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLCanvasElement.prototype, "captureStream", {configurable:true, enumerable:true, writable:true, value:function captureStream (){return bodavm.toolsFunc.dispatch(this, HTMLCanvasElement.prototype, "HTMLCanvasElement", "captureStream", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLCanvasElement.prototype, "getContext", {configurable:true, enumerable:true, writable:true, value:function getContext (){return bodavm.toolsFunc.dispatch(this, HTMLCanvasElement.prototype, "HTMLCanvasElement", "getContext", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLCanvasElement.prototype, "toBlob", {configurable:true, enumerable:true, writable:true, value:function toBlob (){return bodavm.toolsFunc.dispatch(this, HTMLCanvasElement.prototype, "HTMLCanvasElement", "toBlob", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLCanvasElement.prototype, "toDataURL", {configurable:true, enumerable:true, writable:true, value:function toDataURL (){return bodavm.toolsFunc.dispatch(this, HTMLCanvasElement.prototype, "HTMLCanvasElement", "toDataURL", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLCanvasElement.prototype, "transferControlToOffscreen", {configurable:true, enumerable:true, writable:true, value:function transferControlToOffscreen (){return bodavm.toolsFunc.dispatch(this, HTMLCanvasElement.prototype, "HTMLCanvasElement", "transferControlToOffscreen", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLDivElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLDivElement.js
deleted file mode 100644
index 69712282..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLDivElement.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// HTMLDivElement对象
-HTMLDivElement = function HTMLDivElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLDivElement, "HTMLDivElement");
-HTMLDivElement.prototype.__proto__=HTMLElement.prototype;
-HTMLDivElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLDivElement.prototype, "align", {configurable:true, enumerable:true, get:function align (){return bodavm.toolsFunc.dispatch(this, HTMLDivElement.prototype, "HTMLDivElement", "align_get", arguments)}, set:function align (){return bodavm.toolsFunc.dispatch(this, HTMLDivElement.prototype, "HTMLDivElement", "align_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLFieldSetElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLFieldSetElement.js
deleted file mode 100644
index 7e56ea1c..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLFieldSetElement.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// HTMLFieldSetElement对象
-HTMLFieldSetElement = function HTMLFieldSetElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLFieldSetElement, "HTMLFieldSetElement");
-HTMLFieldSetElement.prototype.__proto__=HTMLElement.prototype;
-HTMLFieldSetElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLFieldSetElement.prototype, "disabled", {configurable:true, enumerable:true, get:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLFieldSetElement.prototype, "HTMLFieldSetElement", "disabled_get", arguments)}, set:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLFieldSetElement.prototype, "HTMLFieldSetElement", "disabled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFieldSetElement.prototype, "form", {configurable:true, enumerable:true, get:function form (){return bodavm.toolsFunc.dispatch(this, HTMLFieldSetElement.prototype, "HTMLFieldSetElement", "form_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLFieldSetElement.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, HTMLFieldSetElement.prototype, "HTMLFieldSetElement", "name_get", arguments)}, set:function name (){return bodavm.toolsFunc.dispatch(this, HTMLFieldSetElement.prototype, "HTMLFieldSetElement", "name_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFieldSetElement.prototype, "type", {configurable:true, enumerable:true, get:function type (){return bodavm.toolsFunc.dispatch(this, HTMLFieldSetElement.prototype, "HTMLFieldSetElement", "type_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLFieldSetElement.prototype, "elements", {configurable:true, enumerable:true, get:function elements (){return bodavm.toolsFunc.dispatch(this, HTMLFieldSetElement.prototype, "HTMLFieldSetElement", "elements_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLFieldSetElement.prototype, "willValidate", {configurable:true, enumerable:true, get:function willValidate (){return bodavm.toolsFunc.dispatch(this, HTMLFieldSetElement.prototype, "HTMLFieldSetElement", "willValidate_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLFieldSetElement.prototype, "validity", {configurable:true, enumerable:true, get:function validity (){return bodavm.toolsFunc.dispatch(this, HTMLFieldSetElement.prototype, "HTMLFieldSetElement", "validity_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLFieldSetElement.prototype, "validationMessage", {configurable:true, enumerable:true, get:function validationMessage (){return bodavm.toolsFunc.dispatch(this, HTMLFieldSetElement.prototype, "HTMLFieldSetElement", "validationMessage_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLFieldSetElement.prototype, "checkValidity", {configurable:true, enumerable:true, writable:true, value:function checkValidity (){return bodavm.toolsFunc.dispatch(this, HTMLFieldSetElement.prototype, "HTMLFieldSetElement", "checkValidity", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFieldSetElement.prototype, "reportValidity", {configurable:true, enumerable:true, writable:true, value:function reportValidity (){return bodavm.toolsFunc.dispatch(this, HTMLFieldSetElement.prototype, "HTMLFieldSetElement", "reportValidity", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFieldSetElement.prototype, "setCustomValidity", {configurable:true, enumerable:true, writable:true, value:function setCustomValidity (){return bodavm.toolsFunc.dispatch(this, HTMLFieldSetElement.prototype, "HTMLFieldSetElement", "setCustomValidity", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLFontElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLFontElement.js
deleted file mode 100644
index 04f3808d..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLFontElement.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// HTMLFontElement对象
-HTMLFontElement = function HTMLFontElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLFontElement, "HTMLFontElement");
-HTMLFontElement.prototype.__proto__=HTMLElement.prototype;
-HTMLFontElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLFontElement.prototype, "color", {configurable:true, enumerable:true, get:function color (){return bodavm.toolsFunc.dispatch(this, HTMLFontElement.prototype, "HTMLFontElement", "color_get", arguments)}, set:function color (){return bodavm.toolsFunc.dispatch(this, HTMLFontElement.prototype, "HTMLFontElement", "color_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFontElement.prototype, "face", {configurable:true, enumerable:true, get:function face (){return bodavm.toolsFunc.dispatch(this, HTMLFontElement.prototype, "HTMLFontElement", "face_get", arguments)}, set:function face (){return bodavm.toolsFunc.dispatch(this, HTMLFontElement.prototype, "HTMLFontElement", "face_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFontElement.prototype, "size", {configurable:true, enumerable:true, get:function size (){return bodavm.toolsFunc.dispatch(this, HTMLFontElement.prototype, "HTMLFontElement", "size_get", arguments)}, set:function size (){return bodavm.toolsFunc.dispatch(this, HTMLFontElement.prototype, "HTMLFontElement", "size_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLFormElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLFormElement.js
deleted file mode 100644
index ca608e68..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLFormElement.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// HTMLFormElement对象
-HTMLFormElement = function HTMLFormElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLFormElement, "HTMLFormElement");
-HTMLFormElement.prototype.__proto__=HTMLElement.prototype;
-HTMLFormElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "acceptCharset", {configurable:true, enumerable:true, get:function acceptCharset (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "acceptCharset_get", arguments)}, set:function acceptCharset (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "acceptCharset_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "action", {configurable:true, enumerable:true, get:function action (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "action_get", arguments)}, set:function action (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "action_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "autocomplete", {configurable:true, enumerable:true, get:function autocomplete (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "autocomplete_get", arguments)}, set:function autocomplete (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "autocomplete_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "enctype", {configurable:true, enumerable:true, get:function enctype (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "enctype_get", arguments)}, set:function enctype (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "enctype_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "encoding", {configurable:true, enumerable:true, get:function encoding (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "encoding_get", arguments)}, set:function encoding (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "encoding_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "method", {configurable:true, enumerable:true, get:function method (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "method_get", arguments)}, set:function method (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "method_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "name_get", arguments)}, set:function name (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "name_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "noValidate", {configurable:true, enumerable:true, get:function noValidate (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "noValidate_get", arguments)}, set:function noValidate (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "noValidate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "target", {configurable:true, enumerable:true, get:function target (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "target_get", arguments)}, set:function target (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "target_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "elements", {configurable:true, enumerable:true, get:function elements (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "elements_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "length", {configurable:true, enumerable:true, get:function length (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "length_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "checkValidity", {configurable:true, enumerable:true, writable:true, value:function checkValidity (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "checkValidity", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "reportValidity", {configurable:true, enumerable:true, writable:true, value:function reportValidity (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "reportValidity", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "requestSubmit", {configurable:true, enumerable:true, writable:true, value:function requestSubmit (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "requestSubmit", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "reset", {configurable:true, enumerable:true, writable:true, value:function reset (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "reset", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFormElement.prototype, "submit", {configurable:true, enumerable:true, writable:true, value:function submit (){return bodavm.toolsFunc.dispatch(this, HTMLFormElement.prototype, "HTMLFormElement", "submit", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLFrameSetElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLFrameSetElement.js
deleted file mode 100644
index be0bab56..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLFrameSetElement.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// HTMLFrameSetElement对象
-HTMLFrameSetElement = function HTMLFrameSetElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLFrameSetElement, "HTMLFrameSetElement");
-HTMLFrameSetElement.prototype.__proto__=HTMLElement.prototype;
-HTMLFrameSetElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "cols", {configurable:true, enumerable:true, get:function cols (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "cols_get", arguments)}, set:function cols (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "cols_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "rows", {configurable:true, enumerable:true, get:function rows (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "rows_get", arguments)}, set:function rows (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "rows_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onblur", {configurable:true, enumerable:true, get:function onblur (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onblur_get", arguments)}, set:function onblur (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onblur_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onerror", {configurable:true, enumerable:true, get:function onerror (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onerror_get", arguments)}, set:function onerror (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onfocus", {configurable:true, enumerable:true, get:function onfocus (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onfocus_get", arguments)}, set:function onfocus (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onfocus_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onload", {configurable:true, enumerable:true, get:function onload (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onload_get", arguments)}, set:function onload (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onload_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onresize", {configurable:true, enumerable:true, get:function onresize (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onresize_get", arguments)}, set:function onresize (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onresize_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onscroll", {configurable:true, enumerable:true, get:function onscroll (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onscroll_get", arguments)}, set:function onscroll (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onscroll_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onafterprint", {configurable:true, enumerable:true, get:function onafterprint (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onafterprint_get", arguments)}, set:function onafterprint (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onafterprint_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onbeforeprint", {configurable:true, enumerable:true, get:function onbeforeprint (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onbeforeprint_get", arguments)}, set:function onbeforeprint (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onbeforeprint_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onbeforeunload", {configurable:true, enumerable:true, get:function onbeforeunload (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onbeforeunload_get", arguments)}, set:function onbeforeunload (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onbeforeunload_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onhashchange", {configurable:true, enumerable:true, get:function onhashchange (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onhashchange_get", arguments)}, set:function onhashchange (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onhashchange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onlanguagechange", {configurable:true, enumerable:true, get:function onlanguagechange (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onlanguagechange_get", arguments)}, set:function onlanguagechange (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onlanguagechange_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onmessage", {configurable:true, enumerable:true, get:function onmessage (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onmessage_get", arguments)}, set:function onmessage (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onmessage_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onmessageerror", {configurable:true, enumerable:true, get:function onmessageerror (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onmessageerror_get", arguments)}, set:function onmessageerror (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onmessageerror_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onoffline", {configurable:true, enumerable:true, get:function onoffline (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onoffline_get", arguments)}, set:function onoffline (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onoffline_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "ononline", {configurable:true, enumerable:true, get:function ononline (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "ononline_get", arguments)}, set:function ononline (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "ononline_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onpagehide", {configurable:true, enumerable:true, get:function onpagehide (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onpagehide_get", arguments)}, set:function onpagehide (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onpagehide_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onpageshow", {configurable:true, enumerable:true, get:function onpageshow (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onpageshow_get", arguments)}, set:function onpageshow (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onpageshow_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onpopstate", {configurable:true, enumerable:true, get:function onpopstate (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onpopstate_get", arguments)}, set:function onpopstate (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onpopstate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onrejectionhandled", {configurable:true, enumerable:true, get:function onrejectionhandled (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onrejectionhandled_get", arguments)}, set:function onrejectionhandled (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onrejectionhandled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onstorage", {configurable:true, enumerable:true, get:function onstorage (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onstorage_get", arguments)}, set:function onstorage (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onstorage_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onunhandledrejection", {configurable:true, enumerable:true, get:function onunhandledrejection (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onunhandledrejection_get", arguments)}, set:function onunhandledrejection (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onunhandledrejection_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLFrameSetElement.prototype, "onunload", {configurable:true, enumerable:true, get:function onunload (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onunload_get", arguments)}, set:function onunload (){return bodavm.toolsFunc.dispatch(this, HTMLFrameSetElement.prototype, "HTMLFrameSetElement", "onunload_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLHeadElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLHeadElement.js
deleted file mode 100644
index 33603e7f..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLHeadElement.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// HTMLHeadElement对象
-HTMLHeadElement = function HTMLHeadElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLHeadElement, "HTMLHeadElement");
-HTMLHeadElement.prototype.__proto__=HTMLElement.prototype;
-HTMLHeadElement.__proto__=HTMLElement;
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLHeadingElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLHeadingElement.js
deleted file mode 100644
index debd04cd..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLHeadingElement.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// HTMLHeadingElement对象
-HTMLHeadingElement = function HTMLHeadingElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLHeadingElement, "HTMLHeadingElement");
-HTMLHeadingElement.prototype.__proto__=HTMLElement.prototype;
-HTMLHeadingElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLHeadingElement.prototype, "align", {configurable:true, enumerable:true, get:function align (){return bodavm.toolsFunc.dispatch(this, HTMLHeadingElement.prototype, "HTMLHeadingElement", "align_get", arguments)}, set:function align (){return bodavm.toolsFunc.dispatch(this, HTMLHeadingElement.prototype, "HTMLHeadingElement", "align_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLHtmlElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLHtmlElement.js
deleted file mode 100644
index 1fe4f20f..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLHtmlElement.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// HTMLHtmlElement对象
-HTMLHtmlElement = function HTMLHtmlElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLHtmlElement, "HTMLHtmlElement");
-HTMLHtmlElement.prototype.__proto__=HTMLElement.prototype;
-HTMLHtmlElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLHtmlElement.prototype, "version", {configurable:true, enumerable:true, get:function version (){return bodavm.toolsFunc.dispatch(this, HTMLHtmlElement.prototype, "HTMLHtmlElement", "version_get", arguments)}, set:function version (){return bodavm.toolsFunc.dispatch(this, HTMLHtmlElement.prototype, "HTMLHtmlElement", "version_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLIFrameElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLIFrameElement.js
deleted file mode 100644
index d3d2c984..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLIFrameElement.js
+++ /dev/null
@@ -1,27 +0,0 @@
-// HTMLIFrameElement对象
-HTMLIFrameElement = function HTMLIFrameElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLIFrameElement, "HTMLIFrameElement");
-HTMLIFrameElement.prototype.__proto__=HTMLElement.prototype;
-HTMLIFrameElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "src", {configurable:true, enumerable:true, get:function src (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "src_get", arguments)}, set:function src (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "src_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "srcdoc", {configurable:true, enumerable:true, get:function srcdoc (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "srcdoc_get", arguments)}, set:function srcdoc (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "srcdoc_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "name_get", arguments)}, set:function name (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "name_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "sandbox", {configurable:true, enumerable:true, get:function sandbox (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "sandbox_get", arguments)}, set:function sandbox (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "sandbox_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "allowFullscreen", {configurable:true, enumerable:true, get:function allowFullscreen (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "allowFullscreen_get", arguments)}, set:function allowFullscreen (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "allowFullscreen_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "width", {configurable:true, enumerable:true, get:function width (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "width_get", arguments)}, set:function width (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "width_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "height", {configurable:true, enumerable:true, get:function height (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "height_get", arguments)}, set:function height (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "height_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "contentDocument", {configurable:true, enumerable:true, get:function contentDocument (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "contentDocument_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "contentWindow", {configurable:true, enumerable:true, get:function contentWindow (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "contentWindow_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "referrerPolicy", {configurable:true, enumerable:true, get:function referrerPolicy (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "referrerPolicy_get", arguments)}, set:function referrerPolicy (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "referrerPolicy_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "csp", {configurable:true, enumerable:true, get:function csp (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "csp_get", arguments)}, set:function csp (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "csp_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "allow", {configurable:true, enumerable:true, get:function allow (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "allow_get", arguments)}, set:function allow (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "allow_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "featurePolicy", {configurable:true, enumerable:true, get:function featurePolicy (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "featurePolicy_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "align", {configurable:true, enumerable:true, get:function align (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "align_get", arguments)}, set:function align (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "align_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "scrolling", {configurable:true, enumerable:true, get:function scrolling (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "scrolling_get", arguments)}, set:function scrolling (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "scrolling_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "frameBorder", {configurable:true, enumerable:true, get:function frameBorder (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "frameBorder_get", arguments)}, set:function frameBorder (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "frameBorder_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "longDesc", {configurable:true, enumerable:true, get:function longDesc (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "longDesc_get", arguments)}, set:function longDesc (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "longDesc_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "marginHeight", {configurable:true, enumerable:true, get:function marginHeight (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "marginHeight_get", arguments)}, set:function marginHeight (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "marginHeight_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "marginWidth", {configurable:true, enumerable:true, get:function marginWidth (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "marginWidth_get", arguments)}, set:function marginWidth (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "marginWidth_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "getSVGDocument", {configurable:true, enumerable:true, writable:true, value:function getSVGDocument (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "getSVGDocument", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "loading", {configurable:true, enumerable:true, get:function loading (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "loading_get", arguments)}, set:function loading (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "loading_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLIFrameElement.prototype, "allowPaymentRequest", {configurable:true, enumerable:true, get:function allowPaymentRequest (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "allowPaymentRequest_get", arguments)}, set:function allowPaymentRequest (){return bodavm.toolsFunc.dispatch(this, HTMLIFrameElement.prototype, "HTMLIFrameElement", "allowPaymentRequest_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLImageElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLImageElement.js
deleted file mode 100644
index 67f0aa89..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLImageElement.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// HTMLImageElement对象
-HTMLImageElement = function HTMLImageElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLImageElement, "HTMLImageElement");
-HTMLImageElement.prototype.__proto__=HTMLElement.prototype;
-HTMLImageElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "alt", {configurable:true, enumerable:true, get:function alt (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "alt_get", arguments)}, set:function alt (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "alt_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "src", {configurable:true, enumerable:true, get:function src (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "src_get", arguments)}, set:function src (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "src_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "srcset", {configurable:true, enumerable:true, get:function srcset (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "srcset_get", arguments)}, set:function srcset (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "srcset_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "sizes", {configurable:true, enumerable:true, get:function sizes (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "sizes_get", arguments)}, set:function sizes (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "sizes_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "crossOrigin", {configurable:true, enumerable:true, get:function crossOrigin (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "crossOrigin_get", arguments)}, set:function crossOrigin (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "crossOrigin_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "useMap", {configurable:true, enumerable:true, get:function useMap (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "useMap_get", arguments)}, set:function useMap (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "useMap_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "isMap", {configurable:true, enumerable:true, get:function isMap (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "isMap_get", arguments)}, set:function isMap (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "isMap_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "width", {configurable:true, enumerable:true, get:function width (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "width_get", arguments)}, set:function width (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "width_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "height", {configurable:true, enumerable:true, get:function height (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "height_get", arguments)}, set:function height (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "height_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "naturalWidth", {configurable:true, enumerable:true, get:function naturalWidth (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "naturalWidth_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "naturalHeight", {configurable:true, enumerable:true, get:function naturalHeight (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "naturalHeight_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "complete", {configurable:true, enumerable:true, get:function complete (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "complete_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "currentSrc", {configurable:true, enumerable:true, get:function currentSrc (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "currentSrc_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "referrerPolicy", {configurable:true, enumerable:true, get:function referrerPolicy (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "referrerPolicy_get", arguments)}, set:function referrerPolicy (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "referrerPolicy_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "decoding", {configurable:true, enumerable:true, get:function decoding (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "decoding_get", arguments)}, set:function decoding (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "decoding_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "name_get", arguments)}, set:function name (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "name_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "lowsrc", {configurable:true, enumerable:true, get:function lowsrc (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "lowsrc_get", arguments)}, set:function lowsrc (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "lowsrc_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "align", {configurable:true, enumerable:true, get:function align (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "align_get", arguments)}, set:function align (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "align_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "hspace", {configurable:true, enumerable:true, get:function hspace (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "hspace_get", arguments)}, set:function hspace (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "hspace_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "vspace", {configurable:true, enumerable:true, get:function vspace (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "vspace_get", arguments)}, set:function vspace (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "vspace_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "longDesc", {configurable:true, enumerable:true, get:function longDesc (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "longDesc_get", arguments)}, set:function longDesc (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "longDesc_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "border", {configurable:true, enumerable:true, get:function border (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "border_get", arguments)}, set:function border (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "border_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "x", {configurable:true, enumerable:true, get:function x (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "x_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "y", {configurable:true, enumerable:true, get:function y (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "y_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "decode", {configurable:true, enumerable:true, writable:true, value:function decode (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "decode", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "fetchPriority", {configurable:true, enumerable:true, get:function fetchPriority (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "fetchPriority_get", arguments)}, set:function fetchPriority (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "fetchPriority_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLImageElement.prototype, "loading", {configurable:true, enumerable:true, get:function loading (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "loading_get", arguments)}, set:function loading (){return bodavm.toolsFunc.dispatch(this, HTMLImageElement.prototype, "HTMLImageElement", "loading_set", arguments)}});
-
-
-
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLInputElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLInputElement.js
deleted file mode 100644
index ef39443f..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLInputElement.js
+++ /dev/null
@@ -1,62 +0,0 @@
-// HTMLInputElement对象
-HTMLInputElement = function HTMLInputElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLInputElement, "HTMLInputElement");
-HTMLInputElement.prototype.__proto__=HTMLElement.prototype;
-HTMLInputElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "accept", {configurable:true, enumerable:true, get:function accept (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "accept_get", arguments)}, set:function accept (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "accept_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "alt", {configurable:true, enumerable:true, get:function alt (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "alt_get", arguments)}, set:function alt (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "alt_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "autocomplete", {configurable:true, enumerable:true, get:function autocomplete (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "autocomplete_get", arguments)}, set:function autocomplete (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "autocomplete_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "defaultChecked", {configurable:true, enumerable:true, get:function defaultChecked (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "defaultChecked_get", arguments)}, set:function defaultChecked (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "defaultChecked_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "checked", {configurable:true, enumerable:true, get:function checked (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "checked_get", arguments)}, set:function checked (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "checked_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "dirName", {configurable:true, enumerable:true, get:function dirName (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "dirName_get", arguments)}, set:function dirName (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "dirName_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "disabled", {configurable:true, enumerable:true, get:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "disabled_get", arguments)}, set:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "disabled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "form", {configurable:true, enumerable:true, get:function form (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "form_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "files", {configurable:true, enumerable:true, get:function files (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "files_get", arguments)}, set:function files (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "files_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "formAction", {configurable:true, enumerable:true, get:function formAction (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "formAction_get", arguments)}, set:function formAction (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "formAction_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "formEnctype", {configurable:true, enumerable:true, get:function formEnctype (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "formEnctype_get", arguments)}, set:function formEnctype (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "formEnctype_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "formMethod", {configurable:true, enumerable:true, get:function formMethod (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "formMethod_get", arguments)}, set:function formMethod (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "formMethod_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "formNoValidate", {configurable:true, enumerable:true, get:function formNoValidate (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "formNoValidate_get", arguments)}, set:function formNoValidate (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "formNoValidate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "formTarget", {configurable:true, enumerable:true, get:function formTarget (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "formTarget_get", arguments)}, set:function formTarget (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "formTarget_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "height", {configurable:true, enumerable:true, get:function height (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "height_get", arguments)}, set:function height (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "height_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "indeterminate", {configurable:true, enumerable:true, get:function indeterminate (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "indeterminate_get", arguments)}, set:function indeterminate (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "indeterminate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "list", {configurable:true, enumerable:true, get:function list (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "list_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "max", {configurable:true, enumerable:true, get:function max (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "max_get", arguments)}, set:function max (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "max_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "maxLength", {configurable:true, enumerable:true, get:function maxLength (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "maxLength_get", arguments)}, set:function maxLength (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "maxLength_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "min", {configurable:true, enumerable:true, get:function min (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "min_get", arguments)}, set:function min (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "min_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "minLength", {configurable:true, enumerable:true, get:function minLength (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "minLength_get", arguments)}, set:function minLength (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "minLength_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "multiple", {configurable:true, enumerable:true, get:function multiple (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "multiple_get", arguments)}, set:function multiple (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "multiple_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "name_get", arguments)}, set:function name (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "name_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "pattern", {configurable:true, enumerable:true, get:function pattern (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "pattern_get", arguments)}, set:function pattern (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "pattern_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "placeholder", {configurable:true, enumerable:true, get:function placeholder (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "placeholder_get", arguments)}, set:function placeholder (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "placeholder_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "readOnly", {configurable:true, enumerable:true, get:function readOnly (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "readOnly_get", arguments)}, set:function readOnly (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "readOnly_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "required", {configurable:true, enumerable:true, get:function required (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "required_get", arguments)}, set:function required (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "required_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "size", {configurable:true, enumerable:true, get:function size (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "size_get", arguments)}, set:function size (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "size_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "src", {configurable:true, enumerable:true, get:function src (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "src_get", arguments)}, set:function src (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "src_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "step", {configurable:true, enumerable:true, get:function step (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "step_get", arguments)}, set:function step (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "step_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "type", {configurable:true, enumerable:true, get:function type (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "type_get", arguments)}, set:function type (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "type_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "defaultValue", {configurable:true, enumerable:true, get:function defaultValue (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "defaultValue_get", arguments)}, set:function defaultValue (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "defaultValue_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "value", {configurable:true, enumerable:true, get:function value (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "value_get", arguments)}, set:function value (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "value_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "valueAsDate", {configurable:true, enumerable:true, get:function valueAsDate (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "valueAsDate_get", arguments)}, set:function valueAsDate (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "valueAsDate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "valueAsNumber", {configurable:true, enumerable:true, get:function valueAsNumber (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "valueAsNumber_get", arguments)}, set:function valueAsNumber (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "valueAsNumber_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "width", {configurable:true, enumerable:true, get:function width (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "width_get", arguments)}, set:function width (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "width_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "willValidate", {configurable:true, enumerable:true, get:function willValidate (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "willValidate_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "validity", {configurable:true, enumerable:true, get:function validity (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "validity_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "validationMessage", {configurable:true, enumerable:true, get:function validationMessage (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "validationMessage_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "labels", {configurable:true, enumerable:true, get:function labels (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "labels_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "selectionStart", {configurable:true, enumerable:true, get:function selectionStart (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "selectionStart_get", arguments)}, set:function selectionStart (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "selectionStart_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "selectionEnd", {configurable:true, enumerable:true, get:function selectionEnd (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "selectionEnd_get", arguments)}, set:function selectionEnd (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "selectionEnd_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "selectionDirection", {configurable:true, enumerable:true, get:function selectionDirection (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "selectionDirection_get", arguments)}, set:function selectionDirection (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "selectionDirection_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "align", {configurable:true, enumerable:true, get:function align (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "align_get", arguments)}, set:function align (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "align_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "useMap", {configurable:true, enumerable:true, get:function useMap (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "useMap_get", arguments)}, set:function useMap (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "useMap_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "webkitdirectory", {configurable:true, enumerable:true, get:function webkitdirectory (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "webkitdirectory_get", arguments)}, set:function webkitdirectory (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "webkitdirectory_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "incremental", {configurable:true, enumerable:true, get:function incremental (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "incremental_get", arguments)}, set:function incremental (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "incremental_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "checkValidity", {configurable:true, enumerable:true, writable:true, value:function checkValidity (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "checkValidity", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "reportValidity", {configurable:true, enumerable:true, writable:true, value:function reportValidity (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "reportValidity", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "select", {configurable:true, enumerable:true, writable:true, value:function select (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "select", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "setCustomValidity", {configurable:true, enumerable:true, writable:true, value:function setCustomValidity (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "setCustomValidity", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "setRangeText", {configurable:true, enumerable:true, writable:true, value:function setRangeText (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "setRangeText", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "setSelectionRange", {configurable:true, enumerable:true, writable:true, value:function setSelectionRange (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "setSelectionRange", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "stepDown", {configurable:true, enumerable:true, writable:true, value:function stepDown (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "stepDown", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "stepUp", {configurable:true, enumerable:true, writable:true, value:function stepUp (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "stepUp", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "webkitEntries", {configurable:true, enumerable:true, get:function webkitEntries (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "webkitEntries_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLInputElement.prototype, "showPicker", {configurable:true, enumerable:true, writable:true, value:function showPicker (){return bodavm.toolsFunc.dispatch(this, HTMLInputElement.prototype, "HTMLInputElement", "showPicker", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLLIElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLLIElement.js
deleted file mode 100644
index 6f590a43..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLLIElement.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// HTMLLIElement对象
-HTMLLIElement = function HTMLLIElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLLIElement, "HTMLLIElement");
-HTMLLIElement.prototype.__proto__=HTMLElement.prototype;
-HTMLLIElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLLIElement.prototype, "value", {configurable:true, enumerable:true, get:function value (){return bodavm.toolsFunc.dispatch(this, HTMLLIElement.prototype, "HTMLLIElement", "value_get", arguments)}, set:function value (){return bodavm.toolsFunc.dispatch(this, HTMLLIElement.prototype, "HTMLLIElement", "value_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLIElement.prototype, "type", {configurable:true, enumerable:true, get:function type (){return bodavm.toolsFunc.dispatch(this, HTMLLIElement.prototype, "HTMLLIElement", "type_get", arguments)}, set:function type (){return bodavm.toolsFunc.dispatch(this, HTMLLIElement.prototype, "HTMLLIElement", "type_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLLegendElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLLegendElement.js
deleted file mode 100644
index 779a53d3..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLLegendElement.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// HTMLLegendElement对象
-HTMLLegendElement = function HTMLLegendElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLLegendElement, "HTMLLegendElement");
-HTMLLegendElement.prototype.__proto__=HTMLElement.prototype;
-HTMLLegendElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLLegendElement.prototype, "form", {configurable:true, enumerable:true, get:function form (){return bodavm.toolsFunc.dispatch(this, HTMLLegendElement.prototype, "HTMLLegendElement", "form_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLLegendElement.prototype, "align", {configurable:true, enumerable:true, get:function align (){return bodavm.toolsFunc.dispatch(this, HTMLLegendElement.prototype, "HTMLLegendElement", "align_get", arguments)}, set:function align (){return bodavm.toolsFunc.dispatch(this, HTMLLegendElement.prototype, "HTMLLegendElement", "align_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLLinkElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLLinkElement.js
deleted file mode 100644
index 362bf1e9..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLLinkElement.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// HTMLLinkElement对象
-HTMLLinkElement = function HTMLLinkElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLLinkElement, "HTMLLinkElement");
-HTMLLinkElement.prototype.__proto__=HTMLElement.prototype;
-HTMLLinkElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "disabled", {configurable:true, enumerable:true, get:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "disabled_get", arguments)}, set:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "disabled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "href", {configurable:true, enumerable:true, get:function href (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "href_get", arguments)}, set:function href (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "href_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "crossOrigin", {configurable:true, enumerable:true, get:function crossOrigin (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "crossOrigin_get", arguments)}, set:function crossOrigin (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "crossOrigin_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "rel", {configurable:true, enumerable:true, get:function rel (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "rel_get", arguments)}, set:function rel (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "rel_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "relList", {configurable:true, enumerable:true, get:function relList (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "relList_get", arguments)}, set:function relList (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "relList_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "media", {configurable:true, enumerable:true, get:function media (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "media_get", arguments)}, set:function media (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "media_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "hreflang", {configurable:true, enumerable:true, get:function hreflang (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "hreflang_get", arguments)}, set:function hreflang (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "hreflang_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "type", {configurable:true, enumerable:true, get:function type (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "type_get", arguments)}, set:function type (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "type_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "as", {configurable:true, enumerable:true, get:function as (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "as_get", arguments)}, set:function as (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "as_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "referrerPolicy", {configurable:true, enumerable:true, get:function referrerPolicy (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "referrerPolicy_get", arguments)}, set:function referrerPolicy (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "referrerPolicy_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "sizes", {configurable:true, enumerable:true, get:function sizes (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "sizes_get", arguments)}, set:function sizes (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "sizes_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "imageSrcset", {configurable:true, enumerable:true, get:function imageSrcset (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "imageSrcset_get", arguments)}, set:function imageSrcset (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "imageSrcset_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "imageSizes", {configurable:true, enumerable:true, get:function imageSizes (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "imageSizes_get", arguments)}, set:function imageSizes (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "imageSizes_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "charset", {configurable:true, enumerable:true, get:function charset (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "charset_get", arguments)}, set:function charset (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "charset_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "rev", {configurable:true, enumerable:true, get:function rev (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "rev_get", arguments)}, set:function rev (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "rev_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "target", {configurable:true, enumerable:true, get:function target (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "target_get", arguments)}, set:function target (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "target_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "sheet", {configurable:true, enumerable:true, get:function sheet (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "sheet_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "integrity", {configurable:true, enumerable:true, get:function integrity (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "integrity_get", arguments)}, set:function integrity (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "integrity_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLLinkElement.prototype, "fetchPriority", {configurable:true, enumerable:true, get:function fetchPriority (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "fetchPriority_get", arguments)}, set:function fetchPriority (){return bodavm.toolsFunc.dispatch(this, HTMLLinkElement.prototype, "HTMLLinkElement", "fetchPriority_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLMarqueeElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLMarqueeElement.js
deleted file mode 100644
index 937a2a83..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLMarqueeElement.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// HTMLMarqueeElement对象
-HTMLMarqueeElement = function HTMLMarqueeElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLMarqueeElement, "HTMLMarqueeElement");
-HTMLMarqueeElement.prototype.__proto__=HTMLElement.prototype;
-HTMLMarqueeElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLMarqueeElement.prototype, "behavior", {configurable:true, enumerable:true, get:function behavior (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "behavior_get", arguments)}, set:function behavior (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "behavior_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMarqueeElement.prototype, "bgColor", {configurable:true, enumerable:true, get:function bgColor (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "bgColor_get", arguments)}, set:function bgColor (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "bgColor_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMarqueeElement.prototype, "direction", {configurable:true, enumerable:true, get:function direction (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "direction_get", arguments)}, set:function direction (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "direction_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMarqueeElement.prototype, "height", {configurable:true, enumerable:true, get:function height (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "height_get", arguments)}, set:function height (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "height_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMarqueeElement.prototype, "hspace", {configurable:true, enumerable:true, get:function hspace (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "hspace_get", arguments)}, set:function hspace (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "hspace_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMarqueeElement.prototype, "loop", {configurable:true, enumerable:true, get:function loop (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "loop_get", arguments)}, set:function loop (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "loop_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMarqueeElement.prototype, "scrollAmount", {configurable:true, enumerable:true, get:function scrollAmount (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "scrollAmount_get", arguments)}, set:function scrollAmount (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "scrollAmount_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMarqueeElement.prototype, "scrollDelay", {configurable:true, enumerable:true, get:function scrollDelay (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "scrollDelay_get", arguments)}, set:function scrollDelay (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "scrollDelay_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMarqueeElement.prototype, "trueSpeed", {configurable:true, enumerable:true, get:function trueSpeed (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "trueSpeed_get", arguments)}, set:function trueSpeed (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "trueSpeed_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMarqueeElement.prototype, "vspace", {configurable:true, enumerable:true, get:function vspace (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "vspace_get", arguments)}, set:function vspace (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "vspace_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMarqueeElement.prototype, "width", {configurable:true, enumerable:true, get:function width (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "width_get", arguments)}, set:function width (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "width_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMarqueeElement.prototype, "start", {configurable:true, enumerable:true, writable:true, value:function start (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "start", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMarqueeElement.prototype, "stop", {configurable:true, enumerable:true, writable:true, value:function stop (){return bodavm.toolsFunc.dispatch(this, HTMLMarqueeElement.prototype, "HTMLMarqueeElement", "stop", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLMediaElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLMediaElement.js
deleted file mode 100644
index 7ff1330f..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLMediaElement.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// HTMLMediaElement对象
-HTMLMediaElement = function HTMLMediaElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLMediaElement, "HTMLMediaElement");
-HTMLMediaElement.prototype.__proto__=HTMLElement.prototype;
-HTMLMediaElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLMediaElement, "NETWORK_EMPTY", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement, "NETWORK_IDLE", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement, "NETWORK_LOADING", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement, "NETWORK_NO_SOURCE", {configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement, "HAVE_NOTHING", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement, "HAVE_METADATA", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement, "HAVE_CURRENT_DATA", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement, "HAVE_FUTURE_DATA", {configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement, "HAVE_ENOUGH_DATA", {configurable:false, enumerable:true, writable:false, value:4});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "error", {configurable:true, enumerable:true, get:function error (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "error_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "src", {configurable:true, enumerable:true, get:function src (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "src_get", arguments)}, set:function src (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "src_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "currentSrc", {configurable:true, enumerable:true, get:function currentSrc (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "currentSrc_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "crossOrigin", {configurable:true, enumerable:true, get:function crossOrigin (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "crossOrigin_get", arguments)}, set:function crossOrigin (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "crossOrigin_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "networkState", {configurable:true, enumerable:true, get:function networkState (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "networkState_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "preload", {configurable:true, enumerable:true, get:function preload (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "preload_get", arguments)}, set:function preload (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "preload_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "buffered", {configurable:true, enumerable:true, get:function buffered (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "buffered_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "readyState", {configurable:true, enumerable:true, get:function readyState (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "readyState_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "seeking", {configurable:true, enumerable:true, get:function seeking (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "seeking_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "currentTime", {configurable:true, enumerable:true, get:function currentTime (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "currentTime_get", arguments)}, set:function currentTime (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "currentTime_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "duration", {configurable:true, enumerable:true, get:function duration (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "duration_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "paused", {configurable:true, enumerable:true, get:function paused (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "paused_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "defaultPlaybackRate", {configurable:true, enumerable:true, get:function defaultPlaybackRate (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "defaultPlaybackRate_get", arguments)}, set:function defaultPlaybackRate (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "defaultPlaybackRate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "playbackRate", {configurable:true, enumerable:true, get:function playbackRate (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "playbackRate_get", arguments)}, set:function playbackRate (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "playbackRate_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "played", {configurable:true, enumerable:true, get:function played (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "played_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "seekable", {configurable:true, enumerable:true, get:function seekable (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "seekable_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "ended", {configurable:true, enumerable:true, get:function ended (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "ended_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "autoplay", {configurable:true, enumerable:true, get:function autoplay (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "autoplay_get", arguments)}, set:function autoplay (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "autoplay_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "loop", {configurable:true, enumerable:true, get:function loop (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "loop_get", arguments)}, set:function loop (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "loop_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "controls", {configurable:true, enumerable:true, get:function controls (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "controls_get", arguments)}, set:function controls (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "controls_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "controlsList", {configurable:true, enumerable:true, get:function controlsList (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "controlsList_get", arguments)}, set:function controlsList (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "controlsList_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "volume", {configurable:true, enumerable:true, get:function volume (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "volume_get", arguments)}, set:function volume (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "volume_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "muted", {configurable:true, enumerable:true, get:function muted (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "muted_get", arguments)}, set:function muted (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "muted_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "defaultMuted", {configurable:true, enumerable:true, get:function defaultMuted (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "defaultMuted_get", arguments)}, set:function defaultMuted (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "defaultMuted_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "textTracks", {configurable:true, enumerable:true, get:function textTracks (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "textTracks_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "webkitAudioDecodedByteCount", {configurable:true, enumerable:true, get:function webkitAudioDecodedByteCount (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "webkitAudioDecodedByteCount_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "webkitVideoDecodedByteCount", {configurable:true, enumerable:true, get:function webkitVideoDecodedByteCount (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "webkitVideoDecodedByteCount_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "onencrypted", {configurable:true, enumerable:true, get:function onencrypted (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "onencrypted_get", arguments)}, set:function onencrypted (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "onencrypted_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "onwaitingforkey", {configurable:true, enumerable:true, get:function onwaitingforkey (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "onwaitingforkey_get", arguments)}, set:function onwaitingforkey (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "onwaitingforkey_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "srcObject", {configurable:true, enumerable:true, get:function srcObject (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "srcObject_get", arguments)}, set:function srcObject (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "srcObject_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "NETWORK_EMPTY", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "NETWORK_IDLE", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "NETWORK_LOADING", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "NETWORK_NO_SOURCE", {configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "HAVE_NOTHING", {configurable:false, enumerable:true, writable:false, value:0});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "HAVE_METADATA", {configurable:false, enumerable:true, writable:false, value:1});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "HAVE_CURRENT_DATA", {configurable:false, enumerable:true, writable:false, value:2});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "HAVE_FUTURE_DATA", {configurable:false, enumerable:true, writable:false, value:3});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "HAVE_ENOUGH_DATA", {configurable:false, enumerable:true, writable:false, value:4});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "addTextTrack", {configurable:true, enumerable:true, writable:true, value:function addTextTrack (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "addTextTrack", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "canPlayType", {configurable:true, enumerable:true, writable:true, value:function canPlayType (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "canPlayType", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "captureStream", {configurable:true, enumerable:true, writable:true, value:function captureStream (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "captureStream", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "load", {configurable:true, enumerable:true, writable:true, value:function load (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "load", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "pause", {configurable:true, enumerable:true, writable:true, value:function pause (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "pause", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "play", {configurable:true, enumerable:true, writable:true, value:function play (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "play", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "preservesPitch", {configurable:true, enumerable:true, get:function preservesPitch (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "preservesPitch_get", arguments)}, set:function preservesPitch (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "preservesPitch_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "sinkId", {configurable:true, enumerable:true, get:function sinkId (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "sinkId_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "remote", {configurable:true, enumerable:true, get:function remote (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "remote_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "disableRemotePlayback", {configurable:true, enumerable:true, get:function disableRemotePlayback (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "disableRemotePlayback_get", arguments)}, set:function disableRemotePlayback (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "disableRemotePlayback_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "setSinkId", {configurable:true, enumerable:true, writable:true, value:function setSinkId (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "setSinkId", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "mediaKeys", {configurable:true, enumerable:true, get:function mediaKeys (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "mediaKeys_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLMediaElement.prototype, "setMediaKeys", {configurable:true, enumerable:true, writable:true, value:function setMediaKeys (){return bodavm.toolsFunc.dispatch(this, HTMLMediaElement.prototype, "HTMLMediaElement", "setMediaKeys", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLMetaElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLMetaElement.js
deleted file mode 100644
index 7e321135..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLMetaElement.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// HTMLMetaElement对象
-HTMLMetaElement = function HTMLMetaElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLMetaElement, "HTMLMetaElement");
-HTMLMetaElement.prototype.__proto__=HTMLElement.prototype;
-HTMLMetaElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLMetaElement.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, HTMLMetaElement.prototype, "HTMLMetaElement", "name_get", arguments)}, set:function name (){return bodavm.toolsFunc.dispatch(this, HTMLMetaElement.prototype, "HTMLMetaElement", "name_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMetaElement.prototype, "httpEquiv", {configurable:true, enumerable:true, get:function httpEquiv (){return bodavm.toolsFunc.dispatch(this, HTMLMetaElement.prototype, "HTMLMetaElement", "httpEquiv_get", arguments)}, set:function httpEquiv (){return bodavm.toolsFunc.dispatch(this, HTMLMetaElement.prototype, "HTMLMetaElement", "httpEquiv_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMetaElement.prototype, "content", {configurable:true, enumerable:true, get:function content (){return bodavm.toolsFunc.dispatch(this, HTMLMetaElement.prototype, "HTMLMetaElement", "content_get", arguments)}, set:function content (){return bodavm.toolsFunc.dispatch(this, HTMLMetaElement.prototype, "HTMLMetaElement", "content_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMetaElement.prototype, "scheme", {configurable:true, enumerable:true, get:function scheme (){return bodavm.toolsFunc.dispatch(this, HTMLMetaElement.prototype, "HTMLMetaElement", "scheme_get", arguments)}, set:function scheme (){return bodavm.toolsFunc.dispatch(this, HTMLMetaElement.prototype, "HTMLMetaElement", "scheme_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLMetaElement.prototype, "media", {configurable:true, enumerable:true, get:function media (){return bodavm.toolsFunc.dispatch(this, HTMLMetaElement.prototype, "HTMLMetaElement", "media_get", arguments)}, set:function media (){return bodavm.toolsFunc.dispatch(this, HTMLMetaElement.prototype, "HTMLMetaElement", "media_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLOptGroupElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLOptGroupElement.js
deleted file mode 100644
index f32d9ff2..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLOptGroupElement.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// HTMLOptGroupElement对象
-HTMLOptGroupElement = function HTMLOptGroupElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLOptGroupElement, "HTMLOptGroupElement");
-HTMLOptGroupElement.prototype.__proto__=HTMLElement.prototype;
-HTMLOptGroupElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLOptGroupElement.prototype, "disabled", {configurable:true, enumerable:true, get:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLOptGroupElement.prototype, "HTMLOptGroupElement", "disabled_get", arguments)}, set:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLOptGroupElement.prototype, "HTMLOptGroupElement", "disabled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLOptGroupElement.prototype, "label", {configurable:true, enumerable:true, get:function label (){return bodavm.toolsFunc.dispatch(this, HTMLOptGroupElement.prototype, "HTMLOptGroupElement", "label_get", arguments)}, set:function label (){return bodavm.toolsFunc.dispatch(this, HTMLOptGroupElement.prototype, "HTMLOptGroupElement", "label_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLOptionElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLOptionElement.js
deleted file mode 100644
index c47e5767..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLOptionElement.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// HTMLOptionElement对象
-HTMLOptionElement = function HTMLOptionElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLOptionElement, "HTMLOptionElement");
-HTMLOptionElement.prototype.__proto__=HTMLElement.prototype;
-HTMLOptionElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLOptionElement.prototype, "disabled", {configurable:true, enumerable:true, get:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "disabled_get", arguments)}, set:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "disabled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLOptionElement.prototype, "form", {configurable:true, enumerable:true, get:function form (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "form_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLOptionElement.prototype, "label", {configurable:true, enumerable:true, get:function label (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "label_get", arguments)}, set:function label (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "label_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLOptionElement.prototype, "defaultSelected", {configurable:true, enumerable:true, get:function defaultSelected (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "defaultSelected_get", arguments)}, set:function defaultSelected (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "defaultSelected_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLOptionElement.prototype, "selected", {configurable:true, enumerable:true, get:function selected (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "selected_get", arguments)}, set:function selected (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "selected_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLOptionElement.prototype, "value", {configurable:true, enumerable:true, get:function value (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "value_get", arguments)}, set:function value (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "value_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLOptionElement.prototype, "text", {configurable:true, enumerable:true, get:function text (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "text_get", arguments)}, set:function text (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "text_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLOptionElement.prototype, "index", {configurable:true, enumerable:true, get:function index (){return bodavm.toolsFunc.dispatch(this, HTMLOptionElement.prototype, "HTMLOptionElement", "index_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLParagraphElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLParagraphElement.js
deleted file mode 100644
index 106ebd2b..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLParagraphElement.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// HTMLParagraphElement对象
-HTMLParagraphElement = function HTMLParagraphElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLParagraphElement, "HTMLParagraphElement");
-HTMLParagraphElement.prototype.__proto__=HTMLElement.prototype;
-HTMLParagraphElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLParagraphElement.prototype, "align", {configurable:true, enumerable:true, get:function align (){return bodavm.toolsFunc.dispatch(this, HTMLParagraphElement.prototype, "HTMLParagraphElement", "align_get", arguments)}, set:function align (){return bodavm.toolsFunc.dispatch(this, HTMLParagraphElement.prototype, "HTMLParagraphElement", "align_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLScriptElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLScriptElement.js
deleted file mode 100644
index 09845e81..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLScriptElement.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// HTMLScriptElement对象
-HTMLScriptElement = function HTMLScriptElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLScriptElement, "HTMLScriptElement");
-HTMLScriptElement.prototype.__proto__=HTMLElement.prototype;
-HTMLScriptElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLScriptElement, "supports", {configurable:true, enumerable:true, writable:true, value:function supports (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement, "HTMLScriptElement", "supports", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLScriptElement.prototype, "src", {configurable:true, enumerable:true, get:function src (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "src_get", arguments)}, set:function src (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "src_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLScriptElement.prototype, "type", {configurable:true, enumerable:true, get:function type (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "type_get", arguments)}, set:function type (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "type_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLScriptElement.prototype, "noModule", {configurable:true, enumerable:true, get:function noModule (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "noModule_get", arguments)}, set:function noModule (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "noModule_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLScriptElement.prototype, "charset", {configurable:true, enumerable:true, get:function charset (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "charset_get", arguments)}, set:function charset (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "charset_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLScriptElement.prototype, "async", {configurable:true, enumerable:true, get:function async (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "async_get", arguments)}, set:function async (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "async_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLScriptElement.prototype, "defer", {configurable:true, enumerable:true, get:function defer (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "defer_get", arguments)}, set:function defer (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "defer_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLScriptElement.prototype, "crossOrigin", {configurable:true, enumerable:true, get:function crossOrigin (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "crossOrigin_get", arguments)}, set:function crossOrigin (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "crossOrigin_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLScriptElement.prototype, "text", {configurable:true, enumerable:true, get:function text (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "text_get", arguments)}, set:function text (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "text_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLScriptElement.prototype, "referrerPolicy", {configurable:true, enumerable:true, get:function referrerPolicy (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "referrerPolicy_get", arguments)}, set:function referrerPolicy (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "referrerPolicy_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLScriptElement.prototype, "event", {configurable:true, enumerable:true, get:function event (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "event_get", arguments)}, set:function event (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "event_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLScriptElement.prototype, "htmlFor", {configurable:true, enumerable:true, get:function htmlFor (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "htmlFor_get", arguments)}, set:function htmlFor (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "htmlFor_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLScriptElement.prototype, "integrity", {configurable:true, enumerable:true, get:function integrity (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "integrity_get", arguments)}, set:function integrity (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "integrity_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLScriptElement.prototype, "fetchPriority", {configurable:true, enumerable:true, get:function fetchPriority (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "fetchPriority_get", arguments)}, set:function fetchPriority (){return bodavm.toolsFunc.dispatch(this, HTMLScriptElement.prototype, "HTMLScriptElement", "fetchPriority_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLSelectElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLSelectElement.js
deleted file mode 100644
index 1c137e73..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLSelectElement.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// HTMLSelectElement对象
-HTMLSelectElement = function HTMLSelectElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLSelectElement, "HTMLSelectElement");
-HTMLSelectElement.prototype.__proto__=HTMLElement.prototype;
-HTMLSelectElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "autocomplete", {configurable:true, enumerable:true, get:function autocomplete (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "autocomplete_get", arguments)}, set:function autocomplete (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "autocomplete_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "disabled", {configurable:true, enumerable:true, get:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "disabled_get", arguments)}, set:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "disabled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "form", {configurable:true, enumerable:true, get:function form (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "form_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "multiple", {configurable:true, enumerable:true, get:function multiple (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "multiple_get", arguments)}, set:function multiple (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "multiple_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "name_get", arguments)}, set:function name (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "name_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "required", {configurable:true, enumerable:true, get:function required (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "required_get", arguments)}, set:function required (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "required_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "size", {configurable:true, enumerable:true, get:function size (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "size_get", arguments)}, set:function size (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "size_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "type", {configurable:true, enumerable:true, get:function type (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "type_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "options", {configurable:true, enumerable:true, get:function options (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "options_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "length", {configurable:true, enumerable:true, get:function length (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "length_get", arguments)}, set:function length (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "length_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "selectedOptions", {configurable:true, enumerable:true, get:function selectedOptions (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "selectedOptions_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "selectedIndex", {configurable:true, enumerable:true, get:function selectedIndex (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "selectedIndex_get", arguments)}, set:function selectedIndex (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "selectedIndex_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "value", {configurable:true, enumerable:true, get:function value (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "value_get", arguments)}, set:function value (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "value_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "willValidate", {configurable:true, enumerable:true, get:function willValidate (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "willValidate_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "validity", {configurable:true, enumerable:true, get:function validity (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "validity_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "validationMessage", {configurable:true, enumerable:true, get:function validationMessage (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "validationMessage_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "labels", {configurable:true, enumerable:true, get:function labels (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "labels_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "add", {configurable:true, enumerable:true, writable:true, value:function add (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "add", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "checkValidity", {configurable:true, enumerable:true, writable:true, value:function checkValidity (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "checkValidity", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "item", {configurable:true, enumerable:true, writable:true, value:function item (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "item", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "namedItem", {configurable:true, enumerable:true, writable:true, value:function namedItem (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "namedItem", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "remove", {configurable:true, enumerable:true, writable:true, value:function remove (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "remove", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "reportValidity", {configurable:true, enumerable:true, writable:true, value:function reportValidity (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "reportValidity", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLSelectElement.prototype, "setCustomValidity", {configurable:true, enumerable:true, writable:true, value:function setCustomValidity (){return bodavm.toolsFunc.dispatch(this, HTMLSelectElement.prototype, "HTMLSelectElement", "setCustomValidity", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLSpanElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLSpanElement.js
deleted file mode 100644
index c1dbed9d..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLSpanElement.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// HTMLSpanElement对象
-HTMLSpanElement = function HTMLSpanElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLSpanElement, "HTMLSpanElement");
-HTMLSpanElement.prototype.__proto__=HTMLElement.prototype;
-HTMLSpanElement.__proto__=HTMLElement;
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLStyleElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLStyleElement.js
deleted file mode 100644
index 72ef43a8..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLStyleElement.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// HTMLStyleElement对象
-HTMLStyleElement = function HTMLStyleElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLStyleElement, "HTMLStyleElement");
-HTMLStyleElement.prototype.__proto__=HTMLElement.prototype;
-HTMLStyleElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLStyleElement.prototype, "disabled", {configurable:true, enumerable:true, get:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLStyleElement.prototype, "HTMLStyleElement", "disabled_get", arguments)}, set:function disabled (){return bodavm.toolsFunc.dispatch(this, HTMLStyleElement.prototype, "HTMLStyleElement", "disabled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLStyleElement.prototype, "media", {configurable:true, enumerable:true, get:function media (){return bodavm.toolsFunc.dispatch(this, HTMLStyleElement.prototype, "HTMLStyleElement", "media_get", arguments)}, set:function media (){return bodavm.toolsFunc.dispatch(this, HTMLStyleElement.prototype, "HTMLStyleElement", "media_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLStyleElement.prototype, "type", {configurable:true, enumerable:true, get:function type (){return bodavm.toolsFunc.dispatch(this, HTMLStyleElement.prototype, "HTMLStyleElement", "type_get", arguments)}, set:function type (){return bodavm.toolsFunc.dispatch(this, HTMLStyleElement.prototype, "HTMLStyleElement", "type_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLStyleElement.prototype, "sheet", {configurable:true, enumerable:true, get:function sheet (){return bodavm.toolsFunc.dispatch(this, HTMLStyleElement.prototype, "HTMLStyleElement", "sheet_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLTitleElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLTitleElement.js
deleted file mode 100644
index d51afd19..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLTitleElement.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// HTMLTitleElement对象
-HTMLTitleElement = function HTMLTitleElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLTitleElement, "HTMLTitleElement");
-HTMLTitleElement.prototype.__proto__=HTMLElement.prototype;
-HTMLTitleElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLTitleElement.prototype, "text", {configurable:true, enumerable:true, get:function text (){return bodavm.toolsFunc.dispatch(this, HTMLTitleElement.prototype, "HTMLTitleElement", "text_get", arguments)}, set:function text (){return bodavm.toolsFunc.dispatch(this, HTMLTitleElement.prototype, "HTMLTitleElement", "text_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLUListElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLUListElement.js
deleted file mode 100644
index fe96787f..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLUListElement.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// HTMLUListElement对象
-HTMLUListElement = function HTMLUListElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLUListElement, "HTMLUListElement");
-HTMLUListElement.prototype.__proto__=HTMLElement.prototype;
-HTMLUListElement.__proto__=HTMLElement;
-bodavm.toolsFunc.defineProperty(HTMLUListElement.prototype, "compact", {configurable:true, enumerable:true, get:function compact (){return bodavm.toolsFunc.dispatch(this, HTMLUListElement.prototype, "HTMLUListElement", "compact_get", arguments)}, set:function compact (){return bodavm.toolsFunc.dispatch(this, HTMLUListElement.prototype, "HTMLUListElement", "compact_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLUListElement.prototype, "type", {configurable:true, enumerable:true, get:function type (){return bodavm.toolsFunc.dispatch(this, HTMLUListElement.prototype, "HTMLUListElement", "type_get", arguments)}, set:function type (){return bodavm.toolsFunc.dispatch(this, HTMLUListElement.prototype, "HTMLUListElement", "type_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLUnknownElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLUnknownElement.js
deleted file mode 100644
index 95c5dc37..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLUnknownElement.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// HTMLUnknownElement对象
-HTMLUnknownElement = function HTMLUnknownElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLUnknownElement, "HTMLUnknownElement");
-HTMLUnknownElement.prototype.__proto__=HTMLElement.prototype;
-HTMLUnknownElement.__proto__=HTMLElement;
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/HTMLVideoElement.js b/env_xbb_lastest_cheerio/env/htmlElements/HTMLVideoElement.js
deleted file mode 100644
index 83c9d6b6..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/HTMLVideoElement.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// HTMLVideoElement对象
-HTMLVideoElement = function HTMLVideoElement(){return bodavm.toolsFunc.throwError("TypeError", "Illegal constructor")}
-bodavm.toolsFunc.safeProto(HTMLVideoElement, "HTMLVideoElement");
-HTMLVideoElement.prototype.__proto__=HTMLMediaElement.prototype;
-HTMLVideoElement.__proto__=HTMLMediaElement;
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "width", {configurable:true, enumerable:true, get:function width (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "width_get", arguments)}, set:function width (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "width_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "height", {configurable:true, enumerable:true, get:function height (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "height_get", arguments)}, set:function height (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "height_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "videoWidth", {configurable:true, enumerable:true, get:function videoWidth (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "videoWidth_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "videoHeight", {configurable:true, enumerable:true, get:function videoHeight (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "videoHeight_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "poster", {configurable:true, enumerable:true, get:function poster (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "poster_get", arguments)}, set:function poster (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "poster_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "webkitDecodedFrameCount", {configurable:true, enumerable:true, get:function webkitDecodedFrameCount (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "webkitDecodedFrameCount_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "webkitDroppedFrameCount", {configurable:true, enumerable:true, get:function webkitDroppedFrameCount (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "webkitDroppedFrameCount_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "playsInline", {configurable:true, enumerable:true, get:function playsInline (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "playsInline_get", arguments)}, set:function playsInline (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "playsInline_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "webkitSupportsFullscreen", {configurable:true, enumerable:true, get:function webkitSupportsFullscreen (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "webkitSupportsFullscreen_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "webkitDisplayingFullscreen", {configurable:true, enumerable:true, get:function webkitDisplayingFullscreen (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "webkitDisplayingFullscreen_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "onenterpictureinpicture", {configurable:true, enumerable:true, get:function onenterpictureinpicture (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "onenterpictureinpicture_get", arguments)}, set:function onenterpictureinpicture (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "onenterpictureinpicture_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "onleavepictureinpicture", {configurable:true, enumerable:true, get:function onleavepictureinpicture (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "onleavepictureinpicture_get", arguments)}, set:function onleavepictureinpicture (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "onleavepictureinpicture_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "disablePictureInPicture", {configurable:true, enumerable:true, get:function disablePictureInPicture (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "disablePictureInPicture_get", arguments)}, set:function disablePictureInPicture (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "disablePictureInPicture_set", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "cancelVideoFrameCallback", {configurable:true, enumerable:true, writable:true, value:function cancelVideoFrameCallback (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "cancelVideoFrameCallback", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "requestVideoFrameCallback", {configurable:true, enumerable:true, writable:true, value:function requestVideoFrameCallback (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "requestVideoFrameCallback", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "getVideoPlaybackQuality", {configurable:true, enumerable:true, writable:true, value:function getVideoPlaybackQuality (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "getVideoPlaybackQuality", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "requestPictureInPicture", {configurable:true, enumerable:true, writable:true, value:function requestPictureInPicture (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "requestPictureInPicture", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "webkitEnterFullScreen", {configurable:true, enumerable:true, writable:true, value:function webkitEnterFullScreen (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "webkitEnterFullScreen", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "webkitEnterFullscreen", {configurable:true, enumerable:true, writable:true, value:function webkitEnterFullscreen (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "webkitEnterFullscreen", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "webkitExitFullScreen", {configurable:true, enumerable:true, writable:true, value:function webkitExitFullScreen (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "webkitExitFullScreen", arguments)}});
-bodavm.toolsFunc.defineProperty(HTMLVideoElement.prototype, "webkitExitFullscreen", {configurable:true, enumerable:true, writable:true, value:function webkitExitFullscreen (){return bodavm.toolsFunc.dispatch(this, HTMLVideoElement.prototype, "HTMLVideoElement", "webkitExitFullscreen", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/Image.js b/env_xbb_lastest_cheerio/env/htmlElements/Image.js
deleted file mode 100644
index 164cdf4a..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/Image.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Image对象
-Image = function Image(){}
-bodavm.toolsFunc.safeProto(Image, "Image");
-Image.prototype.__proto__=HTMLElement.prototype;
-bodavm.toolsFunc.defineProperty(Image.prototype, "alt", {configurable:true, enumerable:true, get:function alt (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "alt_get", arguments)}, set:function alt (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "alt_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "src", {configurable:true, enumerable:true, get:function src (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "src_get", arguments)}, set:function src (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "src_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "srcset", {configurable:true, enumerable:true, get:function srcset (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "srcset_get", arguments)}, set:function srcset (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "srcset_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "sizes", {configurable:true, enumerable:true, get:function sizes (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "sizes_get", arguments)}, set:function sizes (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "sizes_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "crossOrigin", {configurable:true, enumerable:true, get:function crossOrigin (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "crossOrigin_get", arguments)}, set:function crossOrigin (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "crossOrigin_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "useMap", {configurable:true, enumerable:true, get:function useMap (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "useMap_get", arguments)}, set:function useMap (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "useMap_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "isMap", {configurable:true, enumerable:true, get:function isMap (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "isMap_get", arguments)}, set:function isMap (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "isMap_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "width", {configurable:true, enumerable:true, get:function width (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "width_get", arguments)}, set:function width (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "width_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "height", {configurable:true, enumerable:true, get:function height (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "height_get", arguments)}, set:function height (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "height_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "naturalWidth", {configurable:true, enumerable:true, get:function naturalWidth (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "naturalWidth_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Image.prototype, "naturalHeight", {configurable:true, enumerable:true, get:function naturalHeight (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "naturalHeight_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Image.prototype, "complete", {configurable:true, enumerable:true, get:function complete (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "complete_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Image.prototype, "currentSrc", {configurable:true, enumerable:true, get:function currentSrc (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "currentSrc_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Image.prototype, "referrerPolicy", {configurable:true, enumerable:true, get:function referrerPolicy (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "referrerPolicy_get", arguments)}, set:function referrerPolicy (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "referrerPolicy_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "decoding", {configurable:true, enumerable:true, get:function decoding (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "decoding_get", arguments)}, set:function decoding (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "decoding_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "name", {configurable:true, enumerable:true, get:function name (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "name_get", arguments)}, set:function name (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "name_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "lowsrc", {configurable:true, enumerable:true, get:function lowsrc (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "lowsrc_get", arguments)}, set:function lowsrc (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "lowsrc_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "align", {configurable:true, enumerable:true, get:function align (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "align_get", arguments)}, set:function align (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "align_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "hspace", {configurable:true, enumerable:true, get:function hspace (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "hspace_get", arguments)}, set:function hspace (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "hspace_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "vspace", {configurable:true, enumerable:true, get:function vspace (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "vspace_get", arguments)}, set:function vspace (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "vspace_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "longDesc", {configurable:true, enumerable:true, get:function longDesc (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "longDesc_get", arguments)}, set:function longDesc (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "longDesc_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "border", {configurable:true, enumerable:true, get:function border (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "border_get", arguments)}, set:function border (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "border_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "x", {configurable:true, enumerable:true, get:function x (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "x_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Image.prototype, "y", {configurable:true, enumerable:true, get:function y (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "y_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Image.prototype, "decode", {configurable:true, enumerable:true, writable:true, value:function decode (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "decode", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "fetchPriority", {configurable:true, enumerable:true, get:function fetchPriority (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "fetchPriority_get", arguments)}, set:function fetchPriority (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "fetchPriority_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Image.prototype, "loading", {configurable:true, enumerable:true, get:function loading (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "loading_get", arguments)}, set:function loading (){return bodavm.toolsFunc.dispatch(this, Image.prototype, "Image", "loading_set", arguments)}});
diff --git a/env_xbb_lastest_cheerio/env/htmlElements/Option.js b/env_xbb_lastest_cheerio/env/htmlElements/Option.js
deleted file mode 100644
index 8475c646..00000000
--- a/env_xbb_lastest_cheerio/env/htmlElements/Option.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Option对象
-Option = function Option(){}
-bodavm.toolsFunc.safeProto(Option, "Option");
-Option.prototype.__proto__=HTMLElement.prototype;
-bodavm.toolsFunc.defineProperty(Option.prototype, "disabled", {configurable:true, enumerable:true, get:function disabled (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "disabled_get", arguments)}, set:function disabled (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "disabled_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Option.prototype, "form", {configurable:true, enumerable:true, get:function form (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "form_get", arguments)}, set:undefined});
-bodavm.toolsFunc.defineProperty(Option.prototype, "label", {configurable:true, enumerable:true, get:function label (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "label_get", arguments)}, set:function label (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "label_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Option.prototype, "defaultSelected", {configurable:true, enumerable:true, get:function defaultSelected (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "defaultSelected_get", arguments)}, set:function defaultSelected (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "defaultSelected_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Option.prototype, "selected", {configurable:true, enumerable:true, get:function selected (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "selected_get", arguments)}, set:function selected (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "selected_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Option.prototype, "value", {configurable:true, enumerable:true, get:function value (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "value_get", arguments)}, set:function value (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "value_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Option.prototype, "text", {configurable:true, enumerable:true, get:function text (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "text_get", arguments)}, set:function text (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "text_set", arguments)}});
-bodavm.toolsFunc.defineProperty(Option.prototype, "index", {configurable:true, enumerable:true, get:function index (){return bodavm.toolsFunc.dispatch(this, Option.prototype, "Option", "index_get", arguments)}, set:undefined});
diff --git a/env_xbb_lastest_cheerio/main.js b/env_xbb_lastest_cheerio/main.js
deleted file mode 100644
index 2af29542..00000000
--- a/env_xbb_lastest_cheerio/main.js
+++ /dev/null
@@ -1,92 +0,0 @@
-// debugger
-const { VM, VMScript } = require("vm2")
-const fs = require("fs");
-
-const path = require("path");
-const cheerio = require('cheerio')
-// const bodomparse = require('xmldom').DOMParser
-const {createCanvas}=require('canvas')
-// const CryptoJS = require("crypto-js"); // npm install crypto-js
-
-let run_path=path.resolve(__dirname, './run/');
-let config_path = path.resolve(__dirname, './config/');
-let tools_path=path.resolve(__dirname, './tools/');
-
-const tools=require(`${config_path}/tools.config`)
-const env=require(`${config_path}/env.config`)
-
-//名称
-// 清空;
-fs.writeFileSync(`${run_path}/log.txt`,"")
-
-let bohtml_=fs.readFileSync(`${run_path}\\run.html`).toString('utf-8')
-let bobo$=cheerio.load(bohtml_)
-
-//创建沙盒实例
-const vm = new VM(
-);
-
-const configCode=fs.readFileSync(`${config_path}/config.js`)
-//导入功能插件相关函数
-const toolsCode =tools.getCode();
-//导入浏览器环境相关
-const envCode = env.getCode();
-//导入全局初始化
-const globalInit = tools.getFile("globalInit");
-//导入用户初始化代码
-const userInit = tools.getFile( "userInit");
-//导入设置代理对象
-const proxyObj = tools.getFile("proxyObj");
-//导入需要调试的代码
-const jscode = fs.readFileSync(`${run_path}/run.js`)
-//导入异步执行的代码
-const asyncCode = tools.getFile("async");
-
-
-// bodavm.memory.tag[0].__proto__=HTMLDocument.prototype
-//整合代码
-//导入日志代码
-const log_code=fs.readFileSync(`${tools_path}/printLog.js`)
-//测试
-const globadlThis=fs.readFileSync(`${tools_path}/globalThis.js`)
-// const codeTest=`${configCode}${log_code}${toolsCode}${envCode}${globalInit}${userInit}${changeDom}${proxyObj}${jscode}${asyncCode}`+"\r\n"+"debugger";
-const last_deal=fs.readFileSync(`${run_path}/lastDeal.js`)
-const codeTest=`${configCode}${log_code}${toolsCode}${envCode}${globadlThis}${globalInit}${userInit}${proxyObj};;${jscode}${asyncCode};console.table(myloglist);debugger;;${last_deal}`;
-// const codeTest=`${configCode}${log_code}${toolsCode}${envCode}${globadlThis}${globalInit}${userInit}${proxyObj}${jscode}${asyncCode};console.table(myloglist);`+"\r\n"+"debugger";
-
-
-
-
-//沙盒创建全局
-vm.setGlobal('bofs', fs)
-vm.setGlobal('bobo$',bobo$)
-// debugger
-vm.setGlobal('bobocheerio',cheerio)
-vm.setGlobal('bocreateCanvas',createCanvas)
-// let iframes=bobo$('iframe')
-// console.log('iframes的个数---->',iframes.length)
-// if (iframes.length>0){
-// //更好的处理方式为开length个 vm 但是太降低性能了,目前检测iframe 不严, 基本上就比较一下== 先用这个方式过
-// function Window(){}
-// window={
-
-// }
-// window.top=window
-// window.parent=window
-// window.self=window
-// window.__proto__=Window.prototype
-// // Object.setPrototypeOf(window,Window.prototype)
-// vm.setGlobal('createwindow2',window)
-
-// }
-const script = new VMScript(codeTest, "./debugJS.js")
-
-const result = vm.run(script);
-
-//输出结果
-debugger
-console.log(result)
-
-//
-fs.writeFileSync(`${run_path}/output.js`,codeTest)
-
diff --git a/env_xbb_lastest_cheerio/main1.js b/env_xbb_lastest_cheerio/main1.js
deleted file mode 100644
index af6abc8b..00000000
--- a/env_xbb_lastest_cheerio/main1.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// const { createCanvas, loadImage } = require('canvas')
-// const canvas = createCanvas(1440, 200)
-// const ctx = canvas.getContext('2d')
-// ctx.fillRect(100,200,300,400)
-// console.log(canvas.toDataURL())
-
-
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/acorn b/env_xbb_lastest_cheerio/node_modules/.bin/acorn
deleted file mode 100644
index 46a3e61a..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/acorn
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../acorn/bin/acorn" "$@"
-else
- exec node "$basedir/../acorn/bin/acorn" "$@"
-fi
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/acorn.cmd b/env_xbb_lastest_cheerio/node_modules/.bin/acorn.cmd
deleted file mode 100644
index a9324df9..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/acorn.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\acorn\bin\acorn" %*
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/acorn.ps1 b/env_xbb_lastest_cheerio/node_modules/.bin/acorn.ps1
deleted file mode 100644
index 6f6dcddf..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/acorn.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../acorn/bin/acorn" $args
- } else {
- & "$basedir/node$exe" "$basedir/../acorn/bin/acorn" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../acorn/bin/acorn" $args
- } else {
- & "node$exe" "$basedir/../acorn/bin/acorn" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/color-support b/env_xbb_lastest_cheerio/node_modules/.bin/color-support
deleted file mode 100644
index 59e65069..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/color-support
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../color-support/bin.js" "$@"
-else
- exec node "$basedir/../color-support/bin.js" "$@"
-fi
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/color-support.cmd b/env_xbb_lastest_cheerio/node_modules/.bin/color-support.cmd
deleted file mode 100644
index 005f9a56..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/color-support.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\color-support\bin.js" %*
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/color-support.ps1 b/env_xbb_lastest_cheerio/node_modules/.bin/color-support.ps1
deleted file mode 100644
index f5c9fe49..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/color-support.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../color-support/bin.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../color-support/bin.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../color-support/bin.js" $args
- } else {
- & "node$exe" "$basedir/../color-support/bin.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/mkdirp b/env_xbb_lastest_cheerio/node_modules/.bin/mkdirp
deleted file mode 100644
index 6ba5765a..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/mkdirp
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../mkdirp/bin/cmd.js" "$@"
-else
- exec node "$basedir/../mkdirp/bin/cmd.js" "$@"
-fi
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/mkdirp.cmd b/env_xbb_lastest_cheerio/node_modules/.bin/mkdirp.cmd
deleted file mode 100644
index a865dd9f..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/mkdirp.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\mkdirp\bin\cmd.js" %*
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/mkdirp.ps1 b/env_xbb_lastest_cheerio/node_modules/.bin/mkdirp.ps1
deleted file mode 100644
index 911e8546..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/mkdirp.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../mkdirp/bin/cmd.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../mkdirp/bin/cmd.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../mkdirp/bin/cmd.js" $args
- } else {
- & "node$exe" "$basedir/../mkdirp/bin/cmd.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/node-inspect b/env_xbb_lastest_cheerio/node_modules/.bin/node-inspect
deleted file mode 100644
index a4c23b5b..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/node-inspect
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../node-inspect/cli.js" "$@"
- ret=$?
-else
- node "$basedir/../node-inspect/cli.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/node-inspect.cmd b/env_xbb_lastest_cheerio/node_modules/.bin/node-inspect.cmd
deleted file mode 100644
index fc73f7af..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/node-inspect.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-"%_prog%" "%dp0%\..\node-inspect\cli.js" %*
-ENDLOCAL
-EXIT /b %errorlevel%
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/node-inspect.ps1 b/env_xbb_lastest_cheerio/node_modules/.bin/node-inspect.ps1
deleted file mode 100644
index d1ffac37..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/node-inspect.ps1
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- & "$basedir/node$exe" "$basedir/../node-inspect/cli.js" $args
- $ret=$LASTEXITCODE
-} else {
- & "node$exe" "$basedir/../node-inspect/cli.js" $args
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/node-pre-gyp b/env_xbb_lastest_cheerio/node_modules/.bin/node-pre-gyp
deleted file mode 100644
index 004c3be1..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/node-pre-gyp
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../@mapbox/node-pre-gyp/bin/node-pre-gyp" "$@"
-else
- exec node "$basedir/../@mapbox/node-pre-gyp/bin/node-pre-gyp" "$@"
-fi
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/node-pre-gyp.cmd b/env_xbb_lastest_cheerio/node_modules/.bin/node-pre-gyp.cmd
deleted file mode 100644
index a2fc5085..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/node-pre-gyp.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\@mapbox\node-pre-gyp\bin\node-pre-gyp" %*
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/node-pre-gyp.ps1 b/env_xbb_lastest_cheerio/node_modules/.bin/node-pre-gyp.ps1
deleted file mode 100644
index ed297ff9..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/node-pre-gyp.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../@mapbox/node-pre-gyp/bin/node-pre-gyp" $args
- } else {
- & "$basedir/node$exe" "$basedir/../@mapbox/node-pre-gyp/bin/node-pre-gyp" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../@mapbox/node-pre-gyp/bin/node-pre-gyp" $args
- } else {
- & "node$exe" "$basedir/../@mapbox/node-pre-gyp/bin/node-pre-gyp" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/nopt b/env_xbb_lastest_cheerio/node_modules/.bin/nopt
deleted file mode 100644
index f1ec43bc..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/nopt
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../nopt/bin/nopt.js" "$@"
-else
- exec node "$basedir/../nopt/bin/nopt.js" "$@"
-fi
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/nopt.cmd b/env_xbb_lastest_cheerio/node_modules/.bin/nopt.cmd
deleted file mode 100644
index a7f38b3d..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/nopt.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\nopt\bin\nopt.js" %*
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/nopt.ps1 b/env_xbb_lastest_cheerio/node_modules/.bin/nopt.ps1
deleted file mode 100644
index 9d6ba56f..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/nopt.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../nopt/bin/nopt.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../nopt/bin/nopt.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../nopt/bin/nopt.js" $args
- } else {
- & "node$exe" "$basedir/../nopt/bin/nopt.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/python-js b/env_xbb_lastest_cheerio/node_modules/.bin/python-js
deleted file mode 100644
index f3d4358e..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/python-js
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../python-js/cli.js" "$@"
- ret=$?
-else
- node "$basedir/../python-js/cli.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/python-js.cmd b/env_xbb_lastest_cheerio/node_modules/.bin/python-js.cmd
deleted file mode 100644
index 94a87d14..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/python-js.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-"%_prog%" "%dp0%\..\python-js\cli.js" %*
-ENDLOCAL
-EXIT /b %errorlevel%
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/python-js.ps1 b/env_xbb_lastest_cheerio/node_modules/.bin/python-js.ps1
deleted file mode 100644
index d4e0a09a..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/python-js.ps1
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- & "$basedir/node$exe" "$basedir/../python-js/cli.js" $args
- $ret=$LASTEXITCODE
-} else {
- & "node$exe" "$basedir/../python-js/cli.js" $args
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/rimraf b/env_xbb_lastest_cheerio/node_modules/.bin/rimraf
deleted file mode 100644
index b8168255..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/rimraf
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../rimraf/bin.js" "$@"
-else
- exec node "$basedir/../rimraf/bin.js" "$@"
-fi
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/rimraf.cmd b/env_xbb_lastest_cheerio/node_modules/.bin/rimraf.cmd
deleted file mode 100644
index 13f45eca..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/rimraf.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\rimraf\bin.js" %*
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/rimraf.ps1 b/env_xbb_lastest_cheerio/node_modules/.bin/rimraf.ps1
deleted file mode 100644
index 17167914..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/rimraf.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../rimraf/bin.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../rimraf/bin.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../rimraf/bin.js" $args
- } else {
- & "node$exe" "$basedir/../rimraf/bin.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/semver b/env_xbb_lastest_cheerio/node_modules/.bin/semver
deleted file mode 100644
index 77443e78..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/semver
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
-else
- exec node "$basedir/../semver/bin/semver.js" "$@"
-fi
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/semver.cmd b/env_xbb_lastest_cheerio/node_modules/.bin/semver.cmd
deleted file mode 100644
index 9913fa9d..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/semver.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\semver\bin\semver.js" %*
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/semver.ps1 b/env_xbb_lastest_cheerio/node_modules/.bin/semver.ps1
deleted file mode 100644
index 314717ad..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/semver.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../semver/bin/semver.js" $args
- } else {
- & "node$exe" "$basedir/../semver/bin/semver.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/vm2 b/env_xbb_lastest_cheerio/node_modules/.bin/vm2
deleted file mode 100644
index eef43d6d..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/vm2
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../vm2/bin/vm2" "$@"
-else
- exec node "$basedir/../vm2/bin/vm2" "$@"
-fi
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/vm2.cmd b/env_xbb_lastest_cheerio/node_modules/.bin/vm2.cmd
deleted file mode 100644
index 464cb048..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/vm2.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-@ECHO off
-GOTO start
-:find_dp0
-SET dp0=%~dp0
-EXIT /b
-:start
-SETLOCAL
-CALL :find_dp0
-
-IF EXIST "%dp0%\node.exe" (
- SET "_prog=%dp0%\node.exe"
-) ELSE (
- SET "_prog=node"
- SET PATHEXT=%PATHEXT:;.JS;=;%
-)
-
-endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\vm2\bin\vm2" %*
diff --git a/env_xbb_lastest_cheerio/node_modules/.bin/vm2.ps1 b/env_xbb_lastest_cheerio/node_modules/.bin/vm2.ps1
deleted file mode 100644
index e2222537..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.bin/vm2.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../vm2/bin/vm2" $args
- } else {
- & "$basedir/node$exe" "$basedir/../vm2/bin/vm2" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../vm2/bin/vm2" $args
- } else {
- & "node$exe" "$basedir/../vm2/bin/vm2" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/env_xbb_lastest_cheerio/node_modules/.package-lock.json b/env_xbb_lastest_cheerio/node_modules/.package-lock.json
deleted file mode 100644
index 0790149e..00000000
--- a/env_xbb_lastest_cheerio/node_modules/.package-lock.json
+++ /dev/null
@@ -1,890 +0,0 @@
-{
- "name": "test",
- "version": "1.0.0",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "node_modules/@aghajari/jssoup": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@aghajari/jssoup/-/jssoup-1.0.2.tgz",
- "integrity": "sha512-P2DbSzKL99zkGZHK26zAAS+csxLy7DJL1Wtyk66xE/rrBy003wa6X9fp8qzBsiBj0P8uA9IYl31z94DikxIWsg==",
- "dependencies": {
- "iconv": "^3.0.0"
- }
- },
- "node_modules/@mapbox/node-pre-gyp": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz",
- "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==",
- "dependencies": {
- "detect-libc": "^2.0.0",
- "https-proxy-agent": "^5.0.0",
- "make-dir": "^3.1.0",
- "node-fetch": "^2.6.7",
- "nopt": "^5.0.0",
- "npmlog": "^5.0.1",
- "rimraf": "^3.0.2",
- "semver": "^7.3.5",
- "tar": "^6.1.11"
- },
- "bin": {
- "node-pre-gyp": "bin/node-pre-gyp"
- }
- },
- "node_modules/@remotemerge/xpath-parser": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@remotemerge/xpath-parser/-/xpath-parser-1.0.3.tgz",
- "integrity": "sha512-IRs8r19IFzIl87xgpAso5X+sdqIl/sfQzG5EfJ9Ko/WuIeILZbPgklg2ueVcv9SriFZKZ+0zEqWiFbcpRj91rQ=="
- },
- "node_modules/abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
- },
- "node_modules/acorn": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
- "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-walk": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
- "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/agent-base/node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/agent-base/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/aproba": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
- "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
- },
- "node_modules/are-we-there-yet": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
- "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/async": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
- "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
- "dependencies": {
- "lodash": "^4.17.14"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "node_modules/biginteger": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/biginteger/-/biginteger-1.0.3.tgz",
- "integrity": "sha512-gmTfQyNVreGeTlSrZiD7mAg52B0e20NWTJdt9zESPcUce/SEdP0UT/GGal6OZxNELiues4+XuyJzyAlkuO9nNg=="
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/canvas": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.11.0.tgz",
- "integrity": "sha512-bdTjFexjKJEwtIo0oRx8eD4G2yWoUOXP9lj279jmQ2zMnTQhT8C3512OKz3s+ZOaQlLbE7TuVvRDYDB3Llyy5g==",
- "hasInstallScript": true,
- "dependencies": {
- "@mapbox/node-pre-gyp": "^1.0.0",
- "nan": "^2.17.0",
- "simple-get": "^3.0.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/color-support": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
- "bin": {
- "color-support": "bin.js"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
- },
- "node_modules/console-control-strings": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
- },
- "node_modules/decompress-response": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
- "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
- "dependencies": {
- "mimic-response": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
- },
- "node_modules/detect-libc": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
- "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
- },
- "node_modules/eventemitter3": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz",
- "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg=="
- },
- "node_modules/fingerprintjs": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/fingerprintjs/-/fingerprintjs-0.5.3.tgz",
- "integrity": "sha512-LPW+iJ9yaV+FIXbmPkbyp7n6UoxV1euVozieaq3ckuvPEAyJRRB0JxbBsShHh5h1jc9yn/EZ95EEb78109zuKg==",
- "deprecated": "Package has been renamed to @fingerprintjs/fingerprintjs. Install @fingerprintjs/fingerprintjs to get updates."
- },
- "node_modules/fingerprints": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/fingerprints/-/fingerprints-0.0.1.tgz",
- "integrity": "sha512-OylkgzLi6S53uJKRPU7ENE4fhKauXnC3cTPwB6SvzGV5fFI+tUaT/TiP/DhHvLZtoX66musfo+fpYyVstc0yww==",
- "dependencies": {
- "async": "^2.6.0",
- "fs": "0.0.1-security",
- "path": "latest",
- "threads": "^0.10.1",
- "xml2js": "^0.4.19",
- "xmlbuilder": "^9.0.7"
- }
- },
- "node_modules/fs": {
- "version": "0.0.1-security",
- "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
- "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w=="
- },
- "node_modules/fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/fs-minipass/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
- },
- "node_modules/gauge": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
- "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
- "dependencies": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.2",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.1",
- "object-assign": "^4.1.1",
- "signal-exit": "^3.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/has-unicode": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
- },
- "node_modules/htmlparser": {
- "version": "1.7.7",
- "resolved": "https://registry.npmjs.org/htmlparser/-/htmlparser-1.7.7.tgz",
- "integrity": "sha512-zpK66ifkT0fauyFh2Mulrq4AqGTucxGtOhZ8OjkbSfcCpkqQEI8qRkY0tSQSJNAQ4HUZkgWaU4fK4EH6SVH9PQ==",
- "engines": {
- "node": ">=0.1.33"
- }
- },
- "node_modules/https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/https-proxy-agent/node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/https-proxy-agent/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "node_modules/iconv": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/iconv/-/iconv-3.0.1.tgz",
- "integrity": "sha512-lJnFLxVc0d82R7GfU7a9RujKVUQ3Eee19tPKWZWBJtAEGRHVEyFzCtbNl3GPKuDnHBBRT4/nDS4Ru9AIDT72qA==",
- "hasInstallScript": true,
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "license": "ISC"
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/js-xpath": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/js-xpath/-/js-xpath-0.0.4.tgz",
- "integrity": "sha512-8kr9aIje0Af9EaIHFkoLYZDQtrSOofwL/H4dVU8xnTylXFRlFbNlklOtZsvQnDouscsKSXEddUb5vTwTU/oAaQ==",
- "dependencies": {
- "biginteger": "^1.0.3"
- }
- },
- "node_modules/jssoup": {
- "version": "0.0.15",
- "resolved": "https://registry.npmjs.org/jssoup/-/jssoup-0.0.15.tgz",
- "integrity": "sha512-9/7qzZQ878Jey0JyNTuy1NYE8Y4G5PbpWQ5hS8vlBD2Ar4MKJNMQ0239yjb+WExRNLiYPSgZSVLyFUwQNWa1ag==",
- "dependencies": {
- "htmlparser": "^1.7.7"
- }
- },
- "node_modules/jssoup-selector": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/jssoup-selector/-/jssoup-selector-0.0.1.tgz",
- "integrity": "sha512-OulaI/EzhDuKeGHgWLrIYCJoFu7g0bEwOC8+H2Gow92TAyNh59zkcMoe4GGt/gr7d81LsLfkEkp78DJkqUZXQA=="
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/make-dir/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/mimic-response": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
- "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minipass": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz",
- "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/minizlib": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
- "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
- "dependencies": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/minizlib/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/nan": {
- "version": "2.17.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
- "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ=="
- },
- "node_modules/native-promise-only": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz",
- "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg=="
- },
- "node_modules/node-addon-api": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz",
- "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA=="
- },
- "node_modules/node-fetch": {
- "version": "2.6.8",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.8.tgz",
- "integrity": "sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg==",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/nopt": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
- "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
- "dependencies": {
- "abbrev": "1"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/npmlog": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
- "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
- "dependencies": {
- "are-we-there-yet": "^2.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^3.0.0",
- "set-blocking": "^2.0.0"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/path": {
- "version": "0.12.7",
- "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
- "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==",
- "dependencies": {
- "process": "^0.11.1",
- "util": "^0.10.3"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
- "engines": {
- "node": ">= 0.6.0"
- }
- },
- "node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
- },
- "node_modules/semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
- },
- "node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
- },
- "node_modules/simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/simple-get": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz",
- "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==",
- "dependencies": {
- "decompress-response": "^4.2.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/tar": {
- "version": "6.1.13",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz",
- "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==",
- "dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^4.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/threads": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/threads/-/threads-0.10.1.tgz",
- "integrity": "sha512-80FvzE6ob/D06HQkwSSmp2NZKXvXP1t8c6Y8borLYKzIz1KxvkseMJonj/tLU+5fpQk9PMfeomhbKdrIKaBaZQ==",
- "dependencies": {
- "eventemitter3": "^2.0.2",
- "native-promise-only": "^0.8.1"
- },
- "engines": {
- "node": ">= 4.0"
- }
- },
- "node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
- },
- "node_modules/util": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
- "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
- "dependencies": {
- "inherits": "2.0.3"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "node_modules/util/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
- },
- "node_modules/vm2": {
- "version": "3.9.13",
- "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.13.tgz",
- "integrity": "sha512-0rvxpB8P8Shm4wX2EKOiMp7H2zq+HUE/UwodY0pCZXs9IffIKZq6vUti5OgkVCTakKo9e/fgO4X1fkwfjWxE3Q==",
- "dependencies": {
- "acorn": "^8.7.0",
- "acorn-walk": "^8.2.0"
- },
- "bin": {
- "vm2": "bin/vm2"
- },
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
- },
- "node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/wide-align": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
- "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
- "dependencies": {
- "string-width": "^1.0.2 || 2 || 3 || 4"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
- },
- "node_modules/xml2js": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
- "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
- "dependencies": {
- "sax": ">=0.6.0",
- "xmlbuilder": "~11.0.0"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/xml2js/node_modules/xmlbuilder": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
- "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/xmlbuilder": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
- "integrity": "sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/xmldom": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.6.0.tgz",
- "integrity": "sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg==",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/xpath.js": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/xpath.js/-/xpath.js-1.1.0.tgz",
- "integrity": "sha512-jg+qkfS4K8E7965sqaUl8mRngXiKb3WZGfONgE18pr03FUQiuSV6G+Ej4tS55B+rIQSFEIw3phdVAQ4pPqNWfQ==",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- }
- }
-}
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/Jssoup.iml b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/Jssoup.iml
deleted file mode 100644
index 8021953e..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/Jssoup.iml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/README.md b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/README.md
deleted file mode 100644
index 469d1631..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/README.md
+++ /dev/null
@@ -1,212 +0,0 @@
-# JSSoup
- **JSSoup** is a fast and reliable HTML DOM parser library for JavaScript, node.js based on [PHP: simplehtmldom](https://github.com/simplehtmldom/simplehtmldom) and [Java: Jsoup](https://github.com/jhy/jsoup)
-
-[](https://gitter.im/Aghajari/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-
-- Works with well-formed and broken HTML documents.
-- Loads webpages and document strings.
-- Supports CSS selectors.
-
-# Usage
-
-### Installation
-```console
-npm i @aghajari/jssoup
-```
-
-```js
-const jssoup = require('@aghajari/jssoup');
-```
-
-Let's fetch music lyrics from [Google](https://www.google.com/search?q=Hello+lyrics) :
-```js
-const doc = await jssoup.loadFromURL("https://www.google.com/search?q=Hello+lyrics", options())
-
-console.log('track: ' + doc.getElementByAttr("data-attrid", `"title"`).plainText())
-console.log('artist' + doc.getElementByAttr("data-attrid", `"subtitle"`).plainText())
-console.log('lyrics' + doc.getElementByAttr("data-lyricid").plainText())
-```
-Output:
-```html
-track: Hello
-artist: Adele
-lyrics: Hello, it's me
-I was wondering if after all these years you'd like to meet
-To go over everything
-They say that time's supposed to heal ya...
-```
-
-For finding the correct css selector for an specific element, you can use `HTMLNode.cssSelector()`,
-- `cssSelector()`: Get a CSS selector that will uniquely select this element
-
-Just try one example as a test and get the cssSelector for all.
-
-```js
-const doc = await jssoup.loadFromURL("https://www.google.com/search?q=someone+like+you+lyrics", options())
-console.log(doc.matchesPlainText('Someone Like You')[0].cssSelector())
-```
-You will get `h2[data-attrid=title]` as the cssSelector, Now use this selector for all lyrics pages from Google.
-```js
-const doc = await jssoup.loadFromURL("https://www.google.com/search?q=million+years+ago+lyrics", options())
-console.log(doc.findFirst('h2[data-attrid=title]').plainText()) // Output: Million Years Ago
-```
-
-- Let's try parsing document string :
-```js
-const html = `JSSoup - node.js `
-const title = jssoup.load(html).getElementByTagName('title') // or .findFirst('title');
-console.log(title.plainText()) // JSSoup - node.js
-console.log(title.innerText()) // JSSoup - node.js
-console.log(title.outerText()) // JSSoup - node.js
-```
-By the way, you can also use `const title = jssoup.load(html).titleEl()` for getting title.
-
-- Let's use id for finding the element.
-```js
-const html = `This is a test `
-const element = jssoup.load(html).getElementById('element_id') // or .findFirst('#element_id')
-console.log(element) // This is a test
-```
-
-- Let's use className for finding the element.
-```js
-const html = ``
-const element = jssoup.load(html).getElementByClassName('test') // or .findFirst('.header')
-console.log(element) // This is a test
-```
-
-- Let's use attribute for finding the element.
-```js
-const html = `This is a test `;
-const element = jssoup.load(html).getElementByAttr('data-type'); // or .findFirst('[data-type]');
-console.log(element); // This is a test
-```
-
-- Other ways to get the same element :
-```js
-const html = ``
-const doc = jssoup.load(html)
-element = doc.getElementByTagName('test')
-element = doc.findFirst('test')
-element = doc.getElementByClass('tcls header')
-element = doc.findFirst('test.tcls.header')
-element = doc.getElementById('element_id')
-element = doc.findFirst('test#element_id')
-element = doc.getElementByAttr('data-type', 'test_attr')
-element = doc.findFirst('test[data-type=test_attr]')
-element = doc.findFirst('html > head > test:nth-child(0)')
-```
-
-- Get comments :
-```js
-const html = `
-
- This is a test
-
-
-`;
-
-const doc = jssoup.load(html)
-console.log(doc.comments()[0]) // this is a comment
-```
-
-- Get metta tags :
-```js
-const doc = await jssoup.loadFromURL("https://github.com/Aghajari", options())
-
-console.log(doc.metaTags()) // Array of meta tags
-console.log(doc.metaEl('description')) // meta element for description
-console.log(doc.metaEl('image')) // meta content for image
-/*
-* metaEl() will search following tags:
-* (Standard)
-*
-*
-*
-*
-*
-*/
-```
-
-- LinkPreview inspired by [linkpreview](https://github.com/meyt/linkpreview) :
-```js
-const doc = await jssoup.loadFromURL("https://github.com/Aghajari", options())
-
-console.log('title', doc.title()) // Aghajari - Overview
-console.log('description', doc.description()) // Aghajari has ? repositories available. Follow their code on GitHub.
-console.log('image', doc.image()) // https://avatars.githubusercontent.com/u/30867537?v=4?s=400
-```
-
-- Getting multiple tags :
-```js
-const html = `
-
- This is test1
- This is test2
- This is test3
-
-`;
-
-const doc = jssoup.load(html)
-console.log(doc.find(['tag1', 'tag2', 'tag3'])) // Array of elements
-```
-
-- Limit output indexes :
-```js
-const html = `
-
- This is test0
- This is test1
- This is test2
- This is test3
- This is test4
- This is test5
-
-`;
-
-const doc = jssoup.load(html)
-console.log(doc.find('tag', [2, -2])) // Array of elements (test2, test4)
-```
-
-- Get attribute from element:
-```js
-const html = `This is a test `;
-const element = jssoup.load(html).getElementByAttr('data-id'); // or .findFirst('test[data-id]');
-console.log(element.getAttribute('data-id')); // id1234
-```
-
-## Attribute Expression
-- `=` : equal `[attr=value]`
-- `!=` : unequal `[attr!=value]`
-- `*=` : regex `[attr*=value]`
-- `^=` : regex /^pattern/ `[attr^=value]`
-- `$=` : regex /pattern$/ `[attr$=value]`
-- `|=` : startsWith `[attr|=value]`
-- `&=` : endsWith `[attr&=value]`
-- `%=` : contains `[attr%=value]`
-- `~=` : contains in list of words `[attr~=value]` `` : `[attr~=red]`
-
-## Author
-- **Amir Hossein Aghajari**
-
-License
-=======
-
- Copyright 2021 Amir Hossein Aghajari
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/empty.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/empty.js
deleted file mode 100644
index c75671f4..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/empty.js
+++ /dev/null
@@ -1,11 +0,0 @@
-module.exports = function empty(accessor) {
- try {
- // Note we're seeing if the returned value of our function is not
- // undefined or null or empty
- return accessor === undefined || accessor === null || accessor.length === 0;
- } catch (e) {
- // And we're able to catch the Error it would normally throw for
- // referencing a property of undefined
- return false;
- }
-}
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/html_entity_decode.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/html_entity_decode.js
deleted file mode 100644
index 2ec3f374..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/html_entity_decode.js
+++ /dev/null
@@ -1,42 +0,0 @@
-module.exports = function html_entity_decode (string, quoteStyle) { // eslint-disable-line camelcase
- // discuss at: https://locutus.io/php/html_entity_decode/
- // original by: john (https://www.jd-tech.net)
- // input by: ger
- // input by: Ratheous
- // input by: Nick Kolosov (https://sammy.ru)
- // improved by: Kevin van Zonneveld (https://kvz.io)
- // improved by: marc andreu
- // revised by: Kevin van Zonneveld (https://kvz.io)
- // revised by: Kevin van Zonneveld (https://kvz.io)
- // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)
- // bugfixed by: Brett Zamir (https://brett-zamir.me)
- // bugfixed by: Fox
- // example 1: html_entity_decode('Kevin & van Zonneveld')
- // returns 1: 'Kevin & van Zonneveld'
- // example 2: html_entity_decode('<')
- // returns 2: '<'
-
- const getHtmlTranslationTable = require('./html_translation')
- let tmpStr = ''
- let entity = ''
- let symbol = ''
- tmpStr = string.toString()
-
- const hashMap = getHtmlTranslationTable('HTML_ENTITIES', quoteStyle)
- if (hashMap === false) {
- return false
- }
-
- // @todo: & problem
- // https://locutus.io/php/get_html_translation_table:416#comment_97660
- delete (hashMap['&'])
- hashMap['&'] = '&'
-
- for (symbol in hashMap) {
- entity = hashMap[symbol]
- tmpStr = tmpStr.split(entity).join(symbol)
- }
- tmpStr = tmpStr.split(''').join("'")
-
- return tmpStr;
-}
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/html_translation.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/html_translation.js
deleted file mode 100644
index a7cdb4cf..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/html_translation.js
+++ /dev/null
@@ -1,170 +0,0 @@
-module.exports = function get_html_translation_table (table, quoteStyle) { // eslint-disable-line camelcase
- // discuss at: https://locutus.io/php/get_html_translation_table/
- // original by: Philip Peterson
- // revised by: Kevin van Zonneveld (https://kvz.io)
- // bugfixed by: noname
- // bugfixed by: Alex
- // bugfixed by: Marco
- // bugfixed by: madipta
- // bugfixed by: Brett Zamir (https://brett-zamir.me)
- // bugfixed by: T.Wild
- // improved by: KELAN
- // improved by: Brett Zamir (https://brett-zamir.me)
- // input by: Frank Forte
- // input by: Ratheous
- // note 1: It has been decided that we're not going to add global
- // note 1: dependencies to Locutus, meaning the constants are not
- // note 1: real constants, but strings instead. Integers are also supported if someone
- // note 1: chooses to create the constants themselves.
- // example 1: get_html_translation_table('HTML_SPECIALCHARS')
- // returns 1: {'"': '"', '&': '&', '<': '<', '>': '>'}
-
- const entities = {}
- const hashMap = {}
- let decimal
- const constMappingTable = {}
- const constMappingQuoteStyle = {}
- let useTable = {}
- let useQuoteStyle = {}
-
- // Translate arguments
- constMappingTable[0] = 'HTML_SPECIALCHARS'
- constMappingTable[1] = 'HTML_ENTITIES'
- constMappingQuoteStyle[0] = 'ENT_NOQUOTES'
- constMappingQuoteStyle[2] = 'ENT_COMPAT'
- constMappingQuoteStyle[3] = 'ENT_QUOTES'
-
- useTable = !isNaN(table)
- ? constMappingTable[table]
- : table
- ? table.toUpperCase()
- : 'HTML_SPECIALCHARS'
-
- useQuoteStyle = !isNaN(quoteStyle)
- ? constMappingQuoteStyle[quoteStyle]
- : quoteStyle
- ? quoteStyle.toUpperCase()
- : 'ENT_COMPAT'
-
- if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {
- throw new Error('Table: ' + useTable + ' not supported')
- }
-
- entities['38'] = '&'
- if (useTable === 'HTML_ENTITIES') {
- entities['160'] = ' '
- entities['161'] = '¡'
- entities['162'] = '¢'
- entities['163'] = '£'
- entities['164'] = '¤'
- entities['165'] = '¥'
- entities['166'] = '¦'
- entities['167'] = '§'
- entities['168'] = '¨'
- entities['169'] = '©'
- entities['170'] = 'ª'
- entities['171'] = '«'
- entities['172'] = '¬'
- entities['173'] = ''
- entities['174'] = '®'
- entities['175'] = '¯'
- entities['176'] = '°'
- entities['177'] = '±'
- entities['178'] = '²'
- entities['179'] = '³'
- entities['180'] = '´'
- entities['181'] = 'µ'
- entities['182'] = '¶'
- entities['183'] = '·'
- entities['184'] = '¸'
- entities['185'] = '¹'
- entities['186'] = 'º'
- entities['187'] = '»'
- entities['188'] = '¼'
- entities['189'] = '½'
- entities['190'] = '¾'
- entities['191'] = '¿'
- entities['192'] = 'À'
- entities['193'] = 'Á'
- entities['194'] = 'Â'
- entities['195'] = 'Ã'
- entities['196'] = 'Ä'
- entities['197'] = 'Å'
- entities['198'] = 'Æ'
- entities['199'] = 'Ç'
- entities['200'] = 'È'
- entities['201'] = 'É'
- entities['202'] = 'Ê'
- entities['203'] = 'Ë'
- entities['204'] = 'Ì'
- entities['205'] = 'Í'
- entities['206'] = 'Î'
- entities['207'] = 'Ï'
- entities['208'] = 'Ð'
- entities['209'] = 'Ñ'
- entities['210'] = 'Ò'
- entities['211'] = 'Ó'
- entities['212'] = 'Ô'
- entities['213'] = 'Õ'
- entities['214'] = 'Ö'
- entities['215'] = '×'
- entities['216'] = 'Ø'
- entities['217'] = 'Ù'
- entities['218'] = 'Ú'
- entities['219'] = 'Û'
- entities['220'] = 'Ü'
- entities['221'] = 'Ý'
- entities['222'] = 'Þ'
- entities['223'] = 'ß'
- entities['224'] = 'à'
- entities['225'] = 'á'
- entities['226'] = 'â'
- entities['227'] = 'ã'
- entities['228'] = 'ä'
- entities['229'] = 'å'
- entities['230'] = 'æ'
- entities['231'] = 'ç'
- entities['232'] = 'è'
- entities['233'] = 'é'
- entities['234'] = 'ê'
- entities['235'] = 'ë'
- entities['236'] = 'ì'
- entities['237'] = 'í'
- entities['238'] = 'î'
- entities['239'] = 'ï'
- entities['240'] = 'ð'
- entities['241'] = 'ñ'
- entities['242'] = 'ò'
- entities['243'] = 'ó'
- entities['244'] = 'ô'
- entities['245'] = 'õ'
- entities['246'] = 'ö'
- entities['247'] = '÷'
- entities['248'] = 'ø'
- entities['249'] = 'ù'
- entities['250'] = 'ú'
- entities['251'] = 'û'
- entities['252'] = 'ü'
- entities['253'] = 'ý'
- entities['254'] = 'þ'
- entities['255'] = 'ÿ'
- }
-
- if (useQuoteStyle !== 'ENT_NOQUOTES') {
- entities['34'] = '"'
- }
- if (useQuoteStyle === 'ENT_QUOTES') {
- entities['39'] = '''
- }
- entities['60'] = '<'
- entities['62'] = '>'
-
- // ascii decimals to real symbols
- for (decimal in entities) {
- if (entities.hasOwnProperty(decimal)) {
- hashMap[String.fromCharCode(decimal)] = entities[decimal]
- }
- }
-
- return hashMap
-}
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/htmlentities.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/htmlentities.js
deleted file mode 100644
index 9e26edd0..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/htmlentities.js
+++ /dev/null
@@ -1,48 +0,0 @@
-module.exports = function htmlentities (string, quoteStyle, doubleEncode) {
- // discuss at: https://locutus.io/php/htmlentities/
- // original by: Kevin van Zonneveld (https://kvz.io)
- // revised by: Kevin van Zonneveld (https://kvz.io)
- // revised by: Kevin van Zonneveld (https://kvz.io)
- // improved by: nobbler
- // improved by: Jack
- // improved by: Rafał Kukawski (https://blog.kukawski.pl)
- // improved by: Dj (https://locutus.io/php/htmlentities:425#comment_134018)
- // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)
- // bugfixed by: Brett Zamir (https://brett-zamir.me)
- // input by: Ratheous
- // note 1: function is compatible with PHP 5.2 and older
- // example 1: htmlentities('Kevin & van Zonneveld')
- // returns 1: 'Kevin & van Zonneveld'
- // example 2: htmlentities("foo'bar","ENT_QUOTES")
- // returns 2: 'foo'bar'
-
- const getHtmlTranslationTable = require('./html_translation')
- const hashMap = getHtmlTranslationTable('HTML_ENTITIES', quoteStyle)
-
- string = string === null ? '' : string + ''
-
- if (!hashMap) {
- return false
- }
-
- if (quoteStyle && quoteStyle === 'ENT_QUOTES') {
- hashMap["'"] = '''
- }
-
- doubleEncode = doubleEncode === null || !!doubleEncode
-
- const regex = new RegExp('&(?:#\\d+|#x[\\da-f]+|[a-zA-Z][\\da-z]*);|[' +
- Object.keys(hashMap)
- .join('')
- // replace regexp special chars
- .replace(/([()[\]{}\-.*+?^$|/\\])/g, '\\$1') + ']',
- 'g')
-
- return string.replace(regex, function (ent) {
- if (ent.length > 1) {
- return doubleEncode ? hashMap['&'] + ent.substr(1) : ent
- }
-
- return hashMap[ent]
- })
-}
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/index.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/index.js
deleted file mode 100644
index dba176a5..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-module.exports.sprintf = require('./sprintf');
-module.exports.strcasecmp = require('./strcasecmp');
-module.exports.strcspn = require('./strcspn');
-module.exports.substr_replace = require('./substr_replace');
-module.exports.strspn = require('./strspn');
-module.exports.str_ireplace = require('./str_ireplace');
-module.exports.empty = require('./empty');
-module.exports.isset = require('./isset');
-module.exports.isset_key = require('./isset_key');
-module.exports.isNumeric = require('./is_numeric');
-module.exports.preg_quote = require('./preg_quote');
-module.exports.range = require('./range');
-module.exports.htmlentities = require('./htmlentities');
-module.exports.html_entity_decode = require('./html_entity_decode');
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/is_numeric.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/is_numeric.js
deleted file mode 100644
index f977f564..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/is_numeric.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = function isNumeric(num) {
- return !isNaN(parseFloat(num)) && isFinite(num);
-}
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/isset.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/isset.js
deleted file mode 100644
index fe231c98..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/isset.js
+++ /dev/null
@@ -1,11 +0,0 @@
-module.exports = function isset(accessor) {
- try {
- // Note we're seeing if the returned value of our function is not
- // undefined or null
- return accessor !== undefined && accessor !== null;
- } catch (e) {
- // And we're able to catch the Error it would normally throw for
- // referencing a property of undefined
- return false;
- }
-}
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/isset_key.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/isset_key.js
deleted file mode 100644
index d916880b..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/isset_key.js
+++ /dev/null
@@ -1,10 +0,0 @@
-module.exports = function isset_key(accessor, key) {
- try {
- const isset = require('./isset');
- return isset(accessor) && isset(accessor[key]);
- } catch (e) {
- // And we're able to catch the Error it would normally throw for
- // referencing a property of undefined
- return false;
- }
-}
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/preg_quote.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/preg_quote.js
deleted file mode 100644
index 4558e00b..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/preg_quote.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = function preg_quote(str, delimiter) {
- return (str + '').replace(new RegExp('[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\' + (delimiter || '') + '-]', 'g'), '\\$&');
-}
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/range.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/range.js
deleted file mode 100644
index 66787f3e..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/range.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = function range(start, end) {
- return [...Array(Math.max(end - start + 1, 0)).keys()].map(i => i + start);
-}
\ No newline at end of file
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/sprintf.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/sprintf.js
deleted file mode 100644
index cad61be4..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/sprintf.js
+++ /dev/null
@@ -1,195 +0,0 @@
-module.exports = function sprintf () {
- // discuss at: https://locutus.io/php/sprintf/
- // original by: Ash Searle (https://hexmen.com/blog/)
- // improved by: Michael White (https://getsprink.com)
- // improved by: Jack
- // improved by: Kevin van Zonneveld (https://kvz.io)
- // improved by: Kevin van Zonneveld (https://kvz.io)
- // improved by: Kevin van Zonneveld (https://kvz.io)
- // improved by: Dj
- // improved by: Allidylls
- // input by: Paulo Freitas
- // input by: Brett Zamir (https://brett-zamir.me)
- // improved by: Rafał Kukawski (https://kukawski.pl)
- // example 1: sprintf("%01.2f", 123.1)
- // returns 1: '123.10'
- // example 2: sprintf("[%10s]", 'monkey')
- // returns 2: '[ monkey]'
- // example 3: sprintf("[%'#10s]", 'monkey')
- // returns 3: '[####monkey]'
- // example 4: sprintf("%d", 123456789012345)
- // returns 4: '123456789012345'
- // example 5: sprintf('%-03s', 'E')
- // returns 5: 'E00'
- // example 6: sprintf('%+010d', 9)
- // returns 6: '+000000009'
- // example 7: sprintf('%+0\'@10d', 9)
- // returns 7: '@@@@@@@@+9'
- // example 8: sprintf('%.f', 3.14)
- // returns 8: '3.140000'
- // example 9: sprintf('%% %2$d', 1, 2)
- // returns 9: '% 2'
-
- const regex = /%%|%(?:(\d+)\$)?((?:[-+#0 ]|'[\s\S])*)(\d+)?(?:\.(\d*))?([\s\S])/g
- const args = arguments
- let i = 0
- const format = args[i++]
-
- const _pad = function (str, len, chr, leftJustify) {
- if (!chr) {
- chr = ' '
- }
- const padding = (str.length >= len) ? '' : new Array(1 + len - str.length >>> 0).join(chr)
- return leftJustify ? str + padding : padding + str
- }
-
- const justify = function (value, prefix, leftJustify, minWidth, padChar) {
- const diff = minWidth - value.length
- if (diff > 0) {
- // when padding with zeros
- // on the left side
- // keep sign (+ or -) in front
- if (!leftJustify && padChar === '0') {
- value = [
- value.slice(0, prefix.length),
- _pad('', diff, '0', true),
- value.slice(prefix.length)
- ].join('')
- } else {
- value = _pad(value, minWidth, padChar, leftJustify)
- }
- }
- return value
- }
-
- const _formatBaseX = function (value, base, leftJustify, minWidth, precision, padChar) {
- // Note: casts negative numbers to positive ones
- const number = value >>> 0
- value = _pad(number.toString(base), precision || 0, '0', false)
- return justify(value, '', leftJustify, minWidth, padChar)
- }
-
- // _formatString()
- const _formatString = function (value, leftJustify, minWidth, precision, customPadChar) {
- if (precision !== null && precision !== undefined) {
- value = value.slice(0, precision)
- }
- return justify(value, '', leftJustify, minWidth, customPadChar)
- }
-
- // doFormat()
- const doFormat = function (substring, argIndex, modifiers, minWidth, precision, specifier) {
- let number, prefix, method, textTransform, value
-
- if (substring === '%%') {
- return '%'
- }
-
- // parse modifiers
- let padChar = ' ' // pad with spaces by default
- let leftJustify = false
- let positiveNumberPrefix = ''
- let j, l
-
- for (j = 0, l = modifiers.length; j < l; j++) {
- switch (modifiers.charAt(j)) {
- case ' ':
- case '0':
- padChar = modifiers.charAt(j)
- break
- case '+':
- positiveNumberPrefix = '+'
- break
- case '-':
- leftJustify = true
- break
- case "'":
- if (j + 1 < l) {
- padChar = modifiers.charAt(j + 1)
- j++
- }
- break
- }
- }
-
- if (!minWidth) {
- minWidth = 0
- } else {
- minWidth = +minWidth
- }
-
- if (!isFinite(minWidth)) {
- throw new Error('Width must be finite')
- }
-
- if (!precision) {
- precision = (specifier === 'd') ? 0 : 'fFeE'.indexOf(specifier) > -1 ? 6 : undefined
- } else {
- precision = +precision
- }
-
- if (argIndex && +argIndex === 0) {
- throw new Error('Argument number must be greater than zero')
- }
-
- if (argIndex && +argIndex >= args.length) {
- throw new Error('Too few arguments')
- }
-
- value = argIndex ? args[+argIndex] : args[i++]
-
- switch (specifier) {
- case '%':
- return '%'
- case 's':
- return _formatString(value + '', leftJustify, minWidth, precision, padChar)
- case 'c':
- return _formatString(String.fromCharCode(+value), leftJustify, minWidth, precision, padChar)
- case 'b':
- return _formatBaseX(value, 2, leftJustify, minWidth, precision, padChar)
- case 'o':
- return _formatBaseX(value, 8, leftJustify, minWidth, precision, padChar)
- case 'x':
- return _formatBaseX(value, 16, leftJustify, minWidth, precision, padChar)
- case 'X':
- return _formatBaseX(value, 16, leftJustify, minWidth, precision, padChar)
- .toUpperCase()
- case 'u':
- return _formatBaseX(value, 10, leftJustify, minWidth, precision, padChar)
- case 'i':
- case 'd':
- number = +value || 0
- // Plain Math.round doesn't just truncate
- number = Math.round(number - number % 1)
- prefix = number < 0 ? '-' : positiveNumberPrefix
- value = prefix + _pad(String(Math.abs(number)), precision, '0', false)
-
- if (leftJustify && padChar === '0') {
- // can't right-pad 0s on integers
- padChar = ' '
- }
- return justify(value, prefix, leftJustify, minWidth, padChar)
- case 'e':
- case 'E':
- case 'f': // @todo: Should handle locales (as per setlocale)
- case 'F':
- case 'g':
- case 'G':
- number = +value
- prefix = number < 0 ? '-' : positiveNumberPrefix
- method = ['toExponential', 'toFixed', 'toPrecision']['efg'.indexOf(specifier.toLowerCase())]
- textTransform = ['toString', 'toUpperCase']['eEfFgG'.indexOf(specifier) % 2]
- value = prefix + Math.abs(number)[method](precision)
- return justify(value, prefix, leftJustify, minWidth, padChar)[textTransform]()
- default:
- // unknown specifier, consume that char and return empty
- return ''
- }
- }
-
- try {
- return format.replace(regex, doFormat)
- } catch (err) {
- return false
- }
-}
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/str_ireplace.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/str_ireplace.js
deleted file mode 100644
index f7a75560..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/str_ireplace.js
+++ /dev/null
@@ -1,102 +0,0 @@
-module.exports = function str_ireplace (search, replace, subject, countObj) { // eslint-disable-line camelcase
- // discuss at: https://locutus.io/php/str_ireplace/
- // original by: Glen Arason (https://CanadianDomainRegistry.ca)
- // bugfixed by: Mahmoud Saeed
- // note 1: Case-insensitive version of str_replace()
- // note 1: Compliant with PHP 5.0 str_ireplace() Full details at:
- // note 1: https://ca3.php.net/manual/en/function.str-ireplace.php
- // note 2: The countObj parameter (optional) if used must be passed in as a
- // note 2: object. The count will then be written by reference into it's `value` property
- // example 1: str_ireplace('M', 'e', 'name')
- // returns 1: 'naee'
- // example 2: var $countObj = {}
- // example 2: str_ireplace('M', 'e', 'name', $countObj)
- // example 2: var $result = $countObj.value
- // returns 2: 1
- // example 3: str_ireplace('', '.', 'aaa')
- // returns 3: 'aaa'
-
- let i = 0
- let j = 0
- let temp = ''
- let repl = ''
- let sl = 0
- let fl = 0
- let f = ''
- let r = ''
- let s = ''
- let ra = ''
- let otemp = ''
- let oi = ''
- let ofjl = ''
- let os = subject
- const osa = Object.prototype.toString.call(os) === '[object Array]'
- // var sa = ''
-
- if (typeof (search) === 'object') {
- temp = search
- search = []
- for (i = 0; i < temp.length; i += 1) {
- search[i] = temp[i].toLowerCase()
- }
- } else {
- search = search.toLowerCase()
- }
-
- if (typeof (subject) === 'object') {
- temp = subject
- subject = []
- for (i = 0; i < temp.length; i += 1) {
- subject[i] = temp[i].toLowerCase()
- }
- } else {
- subject = subject.toLowerCase()
- }
-
- if (typeof (search) === 'object' && typeof (replace) === 'string') {
- temp = replace
- replace = []
- for (i = 0; i < search.length; i += 1) {
- replace[i] = temp
- }
- }
-
- temp = ''
- f = [].concat(search)
- r = [].concat(replace)
- ra = Object.prototype.toString.call(r) === '[object Array]'
- s = subject
- // sa = Object.prototype.toString.call(s) === '[object Array]'
- s = [].concat(s)
- os = [].concat(os)
-
- if (countObj) {
- countObj.value = 0
- }
-
- for (i = 0, sl = s.length; i < sl; i++) {
- if (s[i] === '') {
- continue
- }
- for (j = 0, fl = f.length; j < fl; j++) {
- if (f[j] === '') {
- continue
- }
- temp = s[i] + ''
- repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0]
- s[i] = (temp).split(f[j]).join(repl)
- otemp = os[i] + ''
- oi = temp.indexOf(f[j])
- ofjl = f[j].length
- if (oi >= 0) {
- os[i] = (otemp).split(otemp.substr(oi, ofjl)).join(repl)
- }
-
- if (countObj) {
- countObj.value += ((temp.split(f[j])).length - 1)
- }
- }
- }
-
- return osa ? os : os[0]
-}
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/strcasecmp.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/strcasecmp.js
deleted file mode 100644
index 75c9b3d0..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/strcasecmp.js
+++ /dev/null
@@ -1,18 +0,0 @@
-module.exports = function strcasecmp (fString1, fString2) {
- // discuss at: https://locutus.io/php/strcasecmp/
- // original by: Martijn Wieringa
- // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)
- // example 1: strcasecmp('Hello', 'hello')
- // returns 1: 0
-
- const string1 = (fString1 + '').toLowerCase()
- const string2 = (fString2 + '').toLowerCase()
-
- if (string1 > string2) {
- return 1
- } else if (string1 === string2) {
- return 0
- }
-
- return -1
-}
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/strcspn.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/strcspn.js
deleted file mode 100644
index 6d3508ab..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/strcspn.js
+++ /dev/null
@@ -1,28 +0,0 @@
-module.exports = function strcspn (str, mask, start, length) {
- // discuss at: https://locutus.io/php/strcspn/
- // original by: Brett Zamir (https://brett-zamir.me)
- // revised by: Theriault
- // example 1: strcspn('abcdefg123', '1234567890')
- // returns 1: 7
- // example 2: strcspn('123abc', '1234567890')
- // returns 2: 0
- // example 3: strcspn('abcdefg123', '1234567890', 1)
- // returns 3: 6
- // example 4: strcspn('abcdefg123', '1234567890', -6, -5)
- // returns 4: 1
-
- start = start || 0
- length = typeof length === 'undefined' ? str.length : (length || 0)
- if (start < 0) start = str.length + start
- if (length < 0) length = str.length - start + length
- if (start < 0 || start >= str.length || length <= 0) return 0
- const e = Math.min(str.length, start + length)
- let lgth = 0;
- for (let i = start; i < e; i++) {
- if (mask.indexOf(str.charAt(i)) !== -1) {
- break
- }
- ++lgth
- }
- return lgth
-}
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/strspn.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/strspn.js
deleted file mode 100644
index e0c109f5..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/strspn.js
+++ /dev/null
@@ -1,36 +0,0 @@
-module.exports = function strspn (str1, str2, start, lgth) {
- // discuss at: https://locutus.io/php/strspn/
- // original by: Valentina De Rosa
- // improved by: Brett Zamir (https://brett-zamir.me)
- // example 1: strspn('42 is the answer, what is the question ...', '1234567890')
- // returns 1: 2
- // example 2: strspn('foo', 'o', 1, 2)
- // returns 2: 2
-
- let found
- let stri
- let strj
- let j = 0
- let i = 0
-
- start = start ? (start < 0 ? (str1.length + start) : start) : 0
- lgth = lgth ? ((lgth < 0) ? (str1.length + lgth - start) : lgth) : str1.length - start
- str1 = str1.substr(start, lgth)
-
- for (i = 0; i < str1.length; i++) {
- found = 0
- stri = str1.substring(i, i + 1)
- for (j = 0; j <= str2.length; j++) {
- strj = str2.substring(j, j + 1)
- if (stri === strj) {
- found = 1
- break
- }
- }
- if (found !== 1) {
- return i
- }
- }
-
- return i
-}
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/substr_replace.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/substr_replace.js
deleted file mode 100644
index 4dcd4244..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/functions/substr_replace.js
+++ /dev/null
@@ -1,33 +0,0 @@
-module.exports = function substr_replace (str, replace, start, length) { // eslint-disable-line camelcase
- // discuss at: https://locutus.io/php/substr_replace/
- // original by: Brett Zamir (https://brett-zamir.me)
- // example 1: substr_replace('ABCDEFGH:/MNRPQR/', 'bob', 0)
- // returns 1: 'bob'
- // example 2: var $var = 'ABCDEFGH:/MNRPQR/'
- // example 2: substr_replace($var, 'bob', 0, $var.length)
- // returns 2: 'bob'
- // example 3: substr_replace('ABCDEFGH:/MNRPQR/', 'bob', 0, 0)
- // returns 3: 'bobABCDEFGH:/MNRPQR/'
- // example 4: substr_replace('ABCDEFGH:/MNRPQR/', 'bob', 10, -1)
- // returns 4: 'ABCDEFGH:/bob/'
- // example 5: substr_replace('ABCDEFGH:/MNRPQR/', 'bob', -7, -1)
- // returns 5: 'ABCDEFGH:/bob/'
- // example 6: substr_replace('ABCDEFGH:/MNRPQR/', '', 10, -1)
- // returns 6: 'ABCDEFGH://'
-
- if (start < 0) {
- // start position in str
- start = start + str.length
- }
- length = length !== undefined ? length : str.length
- if (length < 0) {
- length = length + str.length - start
- }
-
- return [
- str.slice(0, start),
- replace.substr(0, length),
- replace.slice(length),
- str.slice(start + length)
- ].join('')
-}
diff --git a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/html_document.js b/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/html_document.js
deleted file mode 100644
index 70e96819..00000000
--- a/env_xbb_lastest_cheerio/node_modules/@aghajari/jssoup/html_document.js
+++ /dev/null
@@ -1,1212 +0,0 @@
-/*
- * Copyright (C) 2021 - Amir Hossein Aghajari
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-
-const HTMLNode = require('./html_node.js');
-const Functions = require('./functions');
-const util = require('util');
-
-class HTMLDocument {
- root;
- nodes = [];
- caseInsensitive = false;
- original_size;
- size;
-
- #source;
- _pos;
- _doc;
-
- _char;
- cursor;
- _parent;
- _noise = [];
- _token_blank = " \t\r\n";
- _token_equal = ' =/>';
- _token_slash = " />\r\n\t";
- _token_attr = ' >';
-
- _charset = '';
- _target_charset = '';
-
- default_br_text = '';
- default_span_text = ' ';
-
- #self_closing_tags = {
- 'area': 1,
- 'base': 1,
- 'br': 1,
- 'col': 1,
- 'embed': 1,
- 'hr': 1,
- 'img': 1,
- 'input': 1,
- 'link': 1,
- 'meta': 1,
- 'param': 1,
- 'source': 1,
- 'track': 1,
- 'wbr': 1
- };
- #block_tags = {
- 'body': 1,
- 'div': 1,
- 'form': 1,
- 'root': 1,
- 'span': 1,
- 'table': 1
- };
- #optional_closing_tags = {
- // Not optional, see
- // https://www.w3.org/TR/html/textlevel-semantics.html#the-b-element
- 'b': {'b': 1},
- 'dd': {'dd': 1, 'dt': 1},
- // Not optional, see
- // https://www.w3.org/TR/html/grouping-content.html#the-dl-element
- 'dl': {'dd': 1, 'dt': 1},
- 'dt': {'dd': 1, 'dt': 1},
- 'li': {'li': 1},
- 'optgroup': {'optgroup': 1, 'option': 1},
- 'option': {'optgroup': 1, 'option': 1},
- 'p': {'p': 1},
- 'rp': {'rp': 1, 'rt': 1},
- 'rt': {'rp': 1, 'rt': 1},
- 'td': {'td': 1, 'th': 1},
- 'th': {'td': 1, 'th': 1},
- 'tr': {'td': 1, 'th': 1, 'tr': 1},
- };
-
- constructor(
- str = null,
- lowercase = true,
- forceTagsClosed = false,
- target_charset = 'UTF-8',
- stripRN = true,
- defaultBRText = '\r\n',
- defaultSpanText = ' ',
- removeSmartyScripts = false) {
-
- if (Functions.isset(str)) {
- this.load(str, lowercase, stripRN, defaultBRText, defaultSpanText, removeSmartyScripts);
- } else {
- this._prepare(str, lowercase, defaultBRText, defaultSpanText);
- }
- // Forcing tags to be closed implies that we don't trust the html, but
- // it can lead to parsing errors if we SHOULD trust the html.
- if (forceTagsClosed) {
- this.#optional_closing_tags = [];
- }
-
- this._target_charset = target_charset;
- }
-
- clear() {
- if (Functions.isset(this.nodes)) {
- for (const node of this.nodes) {
- node.clear();
- }
- }
- }
-
- [util.inspect.custom](depth, opts) {
- return this._debug(opts);
- }
-
- _debug(opts) {
- const tab = " ";
- let elements = '';
- for (const node of this.nodes) {
- elements += node._debug(opts, tab + tab, true, false) + ', \n';
- }
- elements = elements.trimRight();
- if (elements.endsWith(",")) elements = elements.substring(0, elements.length - 1);
-
- return 'HTMLDocument {\n' +
- tab + opts.stylize('elements_count', 'special') +
- ': ' + opts.stylize(this.nodes.length, 'number') + '\n' +
- tab + opts.stylize('elements', 'special') +
- ': [\n' + elements + '\n' + tab + ']\n' +
- '}';
- }
-
- load(
- str,
- caseInsensitive = true,
- stripRN = true,
- defaultBRText = '\r\n',
- defaultSpanText = ' ',
- removeSmartyScripts = false) {
-
- this._prepare(str, caseInsensitive, defaultBRText, defaultSpanText);
-
- if (stripRN) {
- // Temporarily remove any element that shouldn't loose whitespace
- this._remove_noise(/<\s*script[^>]*>(.*?)<\s*\s*script\s*>/is);
- this._remove_noise(//is);
- this._remove_noise(//is);
- this._remove_noise(/<\s*style[^>]*>(.*?)<\s*\s*style\s*>/is);
- this._remove_noise(/<\s*(?:code)[^>]*>(.*?)<\s*\s*(?:code)\s*>/is);
-
- // Remove whitespace and newlines between tags
- this._doc = this._doc.replace(/\>([\t\s]*[\r\n]^[\t\s]*)\<');
-
- // Remove whitespace and newlines in text
- this._doc = this._doc.replace(/([\t\s]*[\r\n]^[\t\s]*)/m, ' ');
-
- // Restore temporarily removed elements and calculate new size
- this._doc = this._restore_noise(this._doc);
- this.size = this._doc.length;
- }
-
- this._remove_noise(/<\?\)(.*?)(\?>)/s, true); // server-side script
-
- if (removeSmartyScripts) { // Strip Smarty scripts
- this._remove_noise(/(\{\w)(.*?)(\})/s, true);
- }
- // parsing
- this._parse(stripRN);
- // end
- this.root.$_[HTMLNode.INFO_END] = this.cursor;
- this._parse_charset();
- this._decode();
- delete this._doc;
-
- return this;
- }
-
- find(selector, idx = null, caseInsensitive = false) {
- return this.root.find(selector, idx, caseInsensitive);
- }
-
- findFirst(selector, caseInsensitive = false) {
- return this.root.findFirst(selector, caseInsensitive);
- }
-
- findLast(selector, caseInsensitive = false) {
- return this.root.findLast(selector, caseInsensitive);
- }
-
- expect(selector, idx = null, caseInsensitive = false) {
- return this.root.expect(selector, idx, caseInsensitive);
- }
-
- _prepare(
- str, lowercase = true,
- defaultBRText = '\r\n',
- defaultSpanText = ' ') {
- this.clear();
-
- this.#source = str;
- this._doc = str.trim();
- this.size = this._doc.length;
- this.original_size = this.size; // original size of the html
- this._pos = 0;
- this.cursor = 1;
- this._noise = [];
- this.nodes = [];
- this.caseInsensitive = lowercase;
- this.default_br_text = defaultBRText;
- this.default_span_text = defaultSpanText;
- this.root = new HTMLNode(this);
- this.root.tag = 'root';
- this.root.$_[HTMLNode.INFO_BEGIN] = -1;
- this.root.nodeType = HTMLNode.TYPE_ROOT;
- this._parent = this.root;
- if (this.size > 0)
- this._char = this._doc.charAt(0);
- }
-
- _decode() {
- for (const node of this.nodes) {
- if (Functions.isset(node.$_[HTMLNode.INFO_TEXT])) {
- node.$_[HTMLNode.INFO_TEXT] = Functions.html_entity_decode(
- this._restore_noise(node.$_[HTMLNode.INFO_TEXT]),
- "ENT_QUOTES");
- }
- if (Functions.isset(node.$_[HTMLNode.INFO_INNER])) {
- node.$_[HTMLNode.INFO_INNER] = Functions.html_entity_decode(
- this._restore_noise(node.$_[HTMLNode.INFO_INNER]),
- "ENT_QUOTES");
- }
- if (Functions.isset(node.attr)) {
- for (const [a, v] of node.attr) {
- if (v === true) continue;
-
- const v2 = Functions.html_entity_decode(v, "ENT_QUOTES");
- node.attr.set(a, v2);
- if (a === 'class')
- node.class = v2;
- }
- }
- //console.log(node.$_);
- }
- }
-
- _parse(trim = false) {
- while (true) {
- if (this._char !== '<') {
- const content = this._copy_until_char('<');
-
- if (content !== '') {
- // Skip whitespace between tags? ( )
- if (trim && content.trim() === '') {
- continue;
- }
-
- const node = new HTMLNode(this);
- ++this.cursor;
- node.$_[HTMLNode.INFO_TEXT] = content;
- this._link_nodes(node, false);
- }
- }
-
- if (this._read_tag(trim) === false) {
- break;
- }
- }
- }
-
- _parse_charset() {
- let charset = '';
-
- // https://www.w3.org/TR/html/document-metadata.html#statedef-http-equiv-content-type
- const el = this.root.find('meta[http-equiv=Content-Type]', 0, true);
-
- if (!Functions.empty(el)) {
- const fullvalue = el.content;
-
- if (!Functions.empty(fullvalue)) {
-
- const charsetRegex = /charset=(.+)/i;
- let match;
-
- if ((match = charsetRegex.exec(fullvalue)) !== null) {
- charset = match[1];
- }
-
- }
- }
-
- if (Functions.empty(charset)) {
- // https://www.w3.org/TR/html/document-metadata.html#character-encoding-declaration
- const meta = this.root.find('meta[charset]', 0);
- if (Functions.isset(meta)) {
- charset = meta.charset;
- }
- }
-
- if (Functions.empty(charset)) {
- // Debug: Unable to determine charset from source document. Assuming UTF-8
- charset = "UTF-8";
- }
-
- // Since CP1252 is a superset, if we get one of it's subsets, we want
- // it instead.
- if ((charset.toLowerCase() === 'iso-8859-1')
- || (charset.toLowerCase() === 'latin1')
- || (charset.toLowerCase() === 'latin-1')) {
- charset = 'CP1252';
- }
-
- return this._charset = charset;
- }
-
- _read_tag(trim) {
- if (this._char !== '<') { // End Of File
- this.root.$_[HTMLNode.INFO_END] = this.cursor;
-
- // We might be in a nest of unclosed elements for which the end tags
- // can be omitted. Close them for faster seek operations.
- do {
- if (Functions.isset(this.#optional_closing_tags[this._parent.tag.toLowerCase()])) {
- this._parent.$_[HTMLNode.INFO_END] = this.cursor;
- }
- } while (this._parent === this._parent._parent);
-
- return false;
- }
-
- this._next();
-
- if (trim) { // "< /html>"
- this._skip(this._token_blank);
- }
-
- // End tag: https://dev.w3.org/html5/pf-summary/syntax.html#end-tags
- if (this._char === '/') {
- this._next();
-
- let tag = this._copy_until_char('>');
- tag = trim ? tag.trimLeft() : tag;
-
- // Skip attributes and whitespace in end tags
- const pos = tag.indexOf(' ');
- if (trim && pos >= 0) {
- // Debug: Source document contains superfluous whitespace in end tags (